{
  "metadata": {
    "purpose": "v5_range_shadow",
    "count": 745,
    "isFinalBacktest": false
  },
  "shadowTrades": [
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow ambiguous",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    },
    {
      "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,
      "type": "Range shadow unresolved",
      "outcome": "Review",
      "r": null
    }
  ]
}
