{
  "generated_at": "2026-06-22T04:59:06.094502+00:00",
  "review_type": "deterministic_plus_optional_openai_review",
  "objective": {
    "trade_count": "prefer many trades; target at least 30 per tested timeframe before trusting probabilities",
    "drawdown": "prefer maximum drawdown under 15 percent, reject above 30 percent unless exploratory",
    "profit": "prefer positive net profit and profit factor above 1.05; use higher-timeframe profit as a filter, not as the first entry rule"
  },
  "ranking_policy": {
    "name": "objective_many_trades_low_drawdown_profit",
    "minimum_trade_count_target": 30,
    "maximum_drawdown_target_pct": 15,
    "uses_trade_count": true,
    "uses_profit_factor": true,
    "uses_net_profit": true,
    "uses_win_probability": true,
    "uses_take_profit_probability": true,
    "uses_stop_loss_probability": true,
    "minimum_trade_count_before_ranking_priority": 10
  },
  "latest_best_overall": [
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "24",
      "candidate": "donchian_20_ema5_trend50",
      "family": "donchian_trend",
      "candidate_params": {
        "length": 20,
        "ema": 5,
        "trend_ema": 50,
        "trend_slope_bars": 3
      },
      "net_profit": 1.739685382577548,
      "maximum_drawdown_percent": 4.448806064829057,
      "profit_factor": 1.3556410178267924,
      "trade_count": 10,
      "win_probability_percent": 40.0,
      "take_profit_hit_probability_percent": 20.0,
      "stop_loss_hit_probability_percent": 10.0,
      "first_bar_at": "2026-06-16T14:24:00+00:00",
      "last_bar_at": "2026-06-21T14:00:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    },
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "24",
      "candidate": "donchian_20_ema13_trend50",
      "family": "donchian_trend",
      "candidate_params": {
        "length": 20,
        "ema": 13,
        "trend_ema": 50,
        "trend_slope_bars": 3
      },
      "net_profit": 1.739685382577548,
      "maximum_drawdown_percent": 4.448806064829057,
      "profit_factor": 1.3556410178267924,
      "trade_count": 10,
      "win_probability_percent": 40.0,
      "take_profit_hit_probability_percent": 20.0,
      "stop_loss_hit_probability_percent": 10.0,
      "first_bar_at": "2026-06-16T14:24:00+00:00",
      "last_bar_at": "2026-06-21T14:00:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    },
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "15",
      "candidate": "frankie_vp_ema34_bb20x1.8_vp36r24_z0.25_new_york_london_pullback_none_vol1.0",
      "family": "frankie_lux_vp",
      "candidate_params": {
        "ema_len": 34,
        "trend_slope_bars": 3,
        "rsi_len": 14,
        "rsi_reset_bars": 8,
        "bb_len": 20,
        "bb_mult": 1.8,
        "squeeze_window": 50,
        "vp_lookback": 36,
        "vp_rows": 24,
        "value_area_pct": 0.7,
        "value_zone_pct": 0.25,
        "session_filter": "new_york_london",
        "session_volume_len": 20,
        "volume_mult": 1.0,
        "mode": "pullback",
        "candle_model": "none"
      },
      "net_profit": -12.239085228436153,
      "maximum_drawdown_percent": 6.205298990465067,
      "profit_factor": 0.7006463681263886,
      "trade_count": 39,
      "win_probability_percent": 41.02564102564102,
      "take_profit_hit_probability_percent": 17.94871794871795,
      "stop_loss_hit_probability_percent": 35.8974358974359,
      "first_bar_at": "2026-05-03T04:00:00+00:00",
      "last_bar_at": "2026-06-22T01:20:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    },
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "15",
      "candidate": "frankie_vp_ema34_bb20x1.8_vp36r24_z0.5_new_york_london_pullback_none_vol1.0",
      "family": "frankie_lux_vp",
      "candidate_params": {
        "ema_len": 34,
        "trend_slope_bars": 3,
        "rsi_len": 14,
        "rsi_reset_bars": 8,
        "bb_len": 20,
        "bb_mult": 1.8,
        "squeeze_window": 50,
        "vp_lookback": 36,
        "vp_rows": 24,
        "value_area_pct": 0.7,
        "value_zone_pct": 0.5,
        "session_filter": "new_york_london",
        "session_volume_len": 20,
        "volume_mult": 1.0,
        "mode": "pullback",
        "candle_model": "none"
      },
      "net_profit": -12.239085228436153,
      "maximum_drawdown_percent": 6.205298990465067,
      "profit_factor": 0.7006463681263886,
      "trade_count": 39,
      "win_probability_percent": 41.02564102564102,
      "take_profit_hit_probability_percent": 17.94871794871795,
      "stop_loss_hit_probability_percent": 35.8974358974359,
      "first_bar_at": "2026-05-03T04:00:00+00:00",
      "last_bar_at": "2026-06-22T01:20:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    },
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "15",
      "candidate": "frankie_vp_ema34_bb20x1.8_vp48r24_z0.25_new_york_london_pullback_none_vol1.0",
      "family": "frankie_lux_vp",
      "candidate_params": {
        "ema_len": 34,
        "trend_slope_bars": 3,
        "rsi_len": 14,
        "rsi_reset_bars": 8,
        "bb_len": 20,
        "bb_mult": 1.8,
        "squeeze_window": 50,
        "vp_lookback": 48,
        "vp_rows": 24,
        "value_area_pct": 0.7,
        "value_zone_pct": 0.25,
        "session_filter": "new_york_london",
        "session_volume_len": 20,
        "volume_mult": 1.0,
        "mode": "pullback",
        "candle_model": "none"
      },
      "net_profit": -12.239085228436153,
      "maximum_drawdown_percent": 6.205298990465067,
      "profit_factor": 0.7006463681263886,
      "trade_count": 39,
      "win_probability_percent": 41.02564102564102,
      "take_profit_hit_probability_percent": 17.94871794871795,
      "stop_loss_hit_probability_percent": 35.8974358974359,
      "first_bar_at": "2026-05-03T04:00:00+00:00",
      "last_bar_at": "2026-06-22T01:20:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    },
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "15",
      "candidate": "frankie_vp_ema34_bb20x1.8_vp48r24_z0.5_new_york_london_pullback_none_vol1.0",
      "family": "frankie_lux_vp",
      "candidate_params": {
        "ema_len": 34,
        "trend_slope_bars": 3,
        "rsi_len": 14,
        "rsi_reset_bars": 8,
        "bb_len": 20,
        "bb_mult": 1.8,
        "squeeze_window": 50,
        "vp_lookback": 48,
        "vp_rows": 24,
        "value_area_pct": 0.7,
        "value_zone_pct": 0.5,
        "session_filter": "new_york_london",
        "session_volume_len": 20,
        "volume_mult": 1.0,
        "mode": "pullback",
        "candle_model": "none"
      },
      "net_profit": -12.239085228436153,
      "maximum_drawdown_percent": 6.205298990465067,
      "profit_factor": 0.7006463681263886,
      "trade_count": 39,
      "win_probability_percent": 41.02564102564102,
      "take_profit_hit_probability_percent": 17.94871794871795,
      "stop_loss_hit_probability_percent": 35.8974358974359,
      "first_bar_at": "2026-05-03T04:00:00+00:00",
      "last_bar_at": "2026-06-22T01:20:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    },
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "15",
      "candidate": "frankie_vp_ema34_bb20x2.0_vp36r24_z0.25_new_york_london_pullback_none_vol1.0",
      "family": "frankie_lux_vp",
      "candidate_params": {
        "ema_len": 34,
        "trend_slope_bars": 3,
        "rsi_len": 14,
        "rsi_reset_bars": 8,
        "bb_len": 20,
        "bb_mult": 2.0,
        "squeeze_window": 50,
        "vp_lookback": 36,
        "vp_rows": 24,
        "value_area_pct": 0.7,
        "value_zone_pct": 0.25,
        "session_filter": "new_york_london",
        "session_volume_len": 20,
        "volume_mult": 1.0,
        "mode": "pullback",
        "candle_model": "none"
      },
      "net_profit": -12.239085228436153,
      "maximum_drawdown_percent": 6.205298990465067,
      "profit_factor": 0.7006463681263886,
      "trade_count": 39,
      "win_probability_percent": 41.02564102564102,
      "take_profit_hit_probability_percent": 17.94871794871795,
      "stop_loss_hit_probability_percent": 35.8974358974359,
      "first_bar_at": "2026-05-03T04:00:00+00:00",
      "last_bar_at": "2026-06-22T01:20:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    },
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "15",
      "candidate": "frankie_vp_ema34_bb20x2.0_vp36r24_z0.5_new_york_london_pullback_none_vol1.0",
      "family": "frankie_lux_vp",
      "candidate_params": {
        "ema_len": 34,
        "trend_slope_bars": 3,
        "rsi_len": 14,
        "rsi_reset_bars": 8,
        "bb_len": 20,
        "bb_mult": 2.0,
        "squeeze_window": 50,
        "vp_lookback": 36,
        "vp_rows": 24,
        "value_area_pct": 0.7,
        "value_zone_pct": 0.5,
        "session_filter": "new_york_london",
        "session_volume_len": 20,
        "volume_mult": 1.0,
        "mode": "pullback",
        "candle_model": "none"
      },
      "net_profit": -12.239085228436153,
      "maximum_drawdown_percent": 6.205298990465067,
      "profit_factor": 0.7006463681263886,
      "trade_count": 39,
      "win_probability_percent": 41.02564102564102,
      "take_profit_hit_probability_percent": 17.94871794871795,
      "stop_loss_hit_probability_percent": 35.8974358974359,
      "first_bar_at": "2026-05-03T04:00:00+00:00",
      "last_bar_at": "2026-06-22T01:20:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    },
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "15",
      "candidate": "frankie_vp_ema34_bb20x2.0_vp48r24_z0.25_new_york_london_pullback_none_vol1.0",
      "family": "frankie_lux_vp",
      "candidate_params": {
        "ema_len": 34,
        "trend_slope_bars": 3,
        "rsi_len": 14,
        "rsi_reset_bars": 8,
        "bb_len": 20,
        "bb_mult": 2.0,
        "squeeze_window": 50,
        "vp_lookback": 48,
        "vp_rows": 24,
        "value_area_pct": 0.7,
        "value_zone_pct": 0.25,
        "session_filter": "new_york_london",
        "session_volume_len": 20,
        "volume_mult": 1.0,
        "mode": "pullback",
        "candle_model": "none"
      },
      "net_profit": -12.239085228436153,
      "maximum_drawdown_percent": 6.205298990465067,
      "profit_factor": 0.7006463681263886,
      "trade_count": 39,
      "win_probability_percent": 41.02564102564102,
      "take_profit_hit_probability_percent": 17.94871794871795,
      "stop_loss_hit_probability_percent": 35.8974358974359,
      "first_bar_at": "2026-05-03T04:00:00+00:00",
      "last_bar_at": "2026-06-22T01:20:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    },
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "15",
      "candidate": "frankie_vp_ema34_bb20x2.0_vp48r24_z0.5_new_york_london_pullback_none_vol1.0",
      "family": "frankie_lux_vp",
      "candidate_params": {
        "ema_len": 34,
        "trend_slope_bars": 3,
        "rsi_len": 14,
        "rsi_reset_bars": 8,
        "bb_len": 20,
        "bb_mult": 2.0,
        "squeeze_window": 50,
        "vp_lookback": 48,
        "vp_rows": 24,
        "value_area_pct": 0.7,
        "value_zone_pct": 0.5,
        "session_filter": "new_york_london",
        "session_volume_len": 20,
        "volume_mult": 1.0,
        "mode": "pullback",
        "candle_model": "none"
      },
      "net_profit": -12.239085228436153,
      "maximum_drawdown_percent": 6.205298990465067,
      "profit_factor": 0.7006463681263886,
      "trade_count": 39,
      "win_probability_percent": 41.02564102564102,
      "take_profit_hit_probability_percent": 17.94871794871795,
      "stop_loss_hit_probability_percent": 35.8974358974359,
      "first_bar_at": "2026-05-03T04:00:00+00:00",
      "last_bar_at": "2026-06-22T01:20:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    }
  ],
  "latest_best_trade_count": [
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "M",
      "candidate": "mfw_14_ema13_thr10",
      "family": "mfw_regime",
      "candidate_params": {
        "mfw_len": 14,
        "ema": 13,
        "threshold": 10
      },
      "net_profit": -90.40387500000016,
      "maximum_drawdown_percent": 90.40387500000016,
      "profit_factor": 0.053356370133311855,
      "trade_count": 51,
      "win_probability_percent": 3.9215686274509802,
      "take_profit_hit_probability_percent": 3.9215686274509802,
      "stop_loss_hit_probability_percent": 96.07843137254902,
      "first_bar_at": "2018-11-01T00:00:00+00:00",
      "last_bar_at": "2026-06-01T00:00:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    },
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "15",
      "candidate": "frankie_vp_ema34_bb20x1.8_vp36r24_z0.25_new_york_london_pullback_none_vol1.0",
      "family": "frankie_lux_vp",
      "candidate_params": {
        "ema_len": 34,
        "trend_slope_bars": 3,
        "rsi_len": 14,
        "rsi_reset_bars": 8,
        "bb_len": 20,
        "bb_mult": 1.8,
        "squeeze_window": 50,
        "vp_lookback": 36,
        "vp_rows": 24,
        "value_area_pct": 0.7,
        "value_zone_pct": 0.25,
        "session_filter": "new_york_london",
        "session_volume_len": 20,
        "volume_mult": 1.0,
        "mode": "pullback",
        "candle_model": "none"
      },
      "net_profit": -12.239085228436153,
      "maximum_drawdown_percent": 6.205298990465067,
      "profit_factor": 0.7006463681263886,
      "trade_count": 39,
      "win_probability_percent": 41.02564102564102,
      "take_profit_hit_probability_percent": 17.94871794871795,
      "stop_loss_hit_probability_percent": 35.8974358974359,
      "first_bar_at": "2026-05-03T04:00:00+00:00",
      "last_bar_at": "2026-06-22T01:20:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    },
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "15",
      "candidate": "frankie_vp_ema34_bb20x1.8_vp36r24_z0.5_new_york_london_pullback_none_vol1.0",
      "family": "frankie_lux_vp",
      "candidate_params": {
        "ema_len": 34,
        "trend_slope_bars": 3,
        "rsi_len": 14,
        "rsi_reset_bars": 8,
        "bb_len": 20,
        "bb_mult": 1.8,
        "squeeze_window": 50,
        "vp_lookback": 36,
        "vp_rows": 24,
        "value_area_pct": 0.7,
        "value_zone_pct": 0.5,
        "session_filter": "new_york_london",
        "session_volume_len": 20,
        "volume_mult": 1.0,
        "mode": "pullback",
        "candle_model": "none"
      },
      "net_profit": -12.239085228436153,
      "maximum_drawdown_percent": 6.205298990465067,
      "profit_factor": 0.7006463681263886,
      "trade_count": 39,
      "win_probability_percent": 41.02564102564102,
      "take_profit_hit_probability_percent": 17.94871794871795,
      "stop_loss_hit_probability_percent": 35.8974358974359,
      "first_bar_at": "2026-05-03T04:00:00+00:00",
      "last_bar_at": "2026-06-22T01:20:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    },
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "15",
      "candidate": "frankie_vp_ema34_bb20x1.8_vp48r24_z0.25_new_york_london_pullback_none_vol1.0",
      "family": "frankie_lux_vp",
      "candidate_params": {
        "ema_len": 34,
        "trend_slope_bars": 3,
        "rsi_len": 14,
        "rsi_reset_bars": 8,
        "bb_len": 20,
        "bb_mult": 1.8,
        "squeeze_window": 50,
        "vp_lookback": 48,
        "vp_rows": 24,
        "value_area_pct": 0.7,
        "value_zone_pct": 0.25,
        "session_filter": "new_york_london",
        "session_volume_len": 20,
        "volume_mult": 1.0,
        "mode": "pullback",
        "candle_model": "none"
      },
      "net_profit": -12.239085228436153,
      "maximum_drawdown_percent": 6.205298990465067,
      "profit_factor": 0.7006463681263886,
      "trade_count": 39,
      "win_probability_percent": 41.02564102564102,
      "take_profit_hit_probability_percent": 17.94871794871795,
      "stop_loss_hit_probability_percent": 35.8974358974359,
      "first_bar_at": "2026-05-03T04:00:00+00:00",
      "last_bar_at": "2026-06-22T01:20:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    },
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "15",
      "candidate": "frankie_vp_ema34_bb20x1.8_vp48r24_z0.5_new_york_london_pullback_none_vol1.0",
      "family": "frankie_lux_vp",
      "candidate_params": {
        "ema_len": 34,
        "trend_slope_bars": 3,
        "rsi_len": 14,
        "rsi_reset_bars": 8,
        "bb_len": 20,
        "bb_mult": 1.8,
        "squeeze_window": 50,
        "vp_lookback": 48,
        "vp_rows": 24,
        "value_area_pct": 0.7,
        "value_zone_pct": 0.5,
        "session_filter": "new_york_london",
        "session_volume_len": 20,
        "volume_mult": 1.0,
        "mode": "pullback",
        "candle_model": "none"
      },
      "net_profit": -12.239085228436153,
      "maximum_drawdown_percent": 6.205298990465067,
      "profit_factor": 0.7006463681263886,
      "trade_count": 39,
      "win_probability_percent": 41.02564102564102,
      "take_profit_hit_probability_percent": 17.94871794871795,
      "stop_loss_hit_probability_percent": 35.8974358974359,
      "first_bar_at": "2026-05-03T04:00:00+00:00",
      "last_bar_at": "2026-06-22T01:20:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    }
  ],
  "latest_best_low_drawdown": [
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "24",
      "candidate": "donchian_20_ema5_trend50",
      "family": "donchian_trend",
      "candidate_params": {
        "length": 20,
        "ema": 5,
        "trend_ema": 50,
        "trend_slope_bars": 3
      },
      "net_profit": 1.739685382577548,
      "maximum_drawdown_percent": 4.448806064829057,
      "profit_factor": 1.3556410178267924,
      "trade_count": 10,
      "win_probability_percent": 40.0,
      "take_profit_hit_probability_percent": 20.0,
      "stop_loss_hit_probability_percent": 10.0,
      "first_bar_at": "2026-06-16T14:24:00+00:00",
      "last_bar_at": "2026-06-21T14:00:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    },
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "24",
      "candidate": "donchian_20_ema13_trend50",
      "family": "donchian_trend",
      "candidate_params": {
        "length": 20,
        "ema": 13,
        "trend_ema": 50,
        "trend_slope_bars": 3
      },
      "net_profit": 1.739685382577548,
      "maximum_drawdown_percent": 4.448806064829057,
      "profit_factor": 1.3556410178267924,
      "trade_count": 10,
      "win_probability_percent": 40.0,
      "take_profit_hit_probability_percent": 20.0,
      "stop_loss_hit_probability_percent": 10.0,
      "first_bar_at": "2026-06-16T14:24:00+00:00",
      "last_bar_at": "2026-06-21T14:00:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    },
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "15",
      "candidate": "frankie_vp_ema34_bb20x1.8_vp36r24_z0.25_new_york_london_pullback_none_vol1.0",
      "family": "frankie_lux_vp",
      "candidate_params": {
        "ema_len": 34,
        "trend_slope_bars": 3,
        "rsi_len": 14,
        "rsi_reset_bars": 8,
        "bb_len": 20,
        "bb_mult": 1.8,
        "squeeze_window": 50,
        "vp_lookback": 36,
        "vp_rows": 24,
        "value_area_pct": 0.7,
        "value_zone_pct": 0.25,
        "session_filter": "new_york_london",
        "session_volume_len": 20,
        "volume_mult": 1.0,
        "mode": "pullback",
        "candle_model": "none"
      },
      "net_profit": -12.239085228436153,
      "maximum_drawdown_percent": 6.205298990465067,
      "profit_factor": 0.7006463681263886,
      "trade_count": 39,
      "win_probability_percent": 41.02564102564102,
      "take_profit_hit_probability_percent": 17.94871794871795,
      "stop_loss_hit_probability_percent": 35.8974358974359,
      "first_bar_at": "2026-05-03T04:00:00+00:00",
      "last_bar_at": "2026-06-22T01:20:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    },
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "15",
      "candidate": "frankie_vp_ema34_bb20x1.8_vp36r24_z0.5_new_york_london_pullback_none_vol1.0",
      "family": "frankie_lux_vp",
      "candidate_params": {
        "ema_len": 34,
        "trend_slope_bars": 3,
        "rsi_len": 14,
        "rsi_reset_bars": 8,
        "bb_len": 20,
        "bb_mult": 1.8,
        "squeeze_window": 50,
        "vp_lookback": 36,
        "vp_rows": 24,
        "value_area_pct": 0.7,
        "value_zone_pct": 0.5,
        "session_filter": "new_york_london",
        "session_volume_len": 20,
        "volume_mult": 1.0,
        "mode": "pullback",
        "candle_model": "none"
      },
      "net_profit": -12.239085228436153,
      "maximum_drawdown_percent": 6.205298990465067,
      "profit_factor": 0.7006463681263886,
      "trade_count": 39,
      "win_probability_percent": 41.02564102564102,
      "take_profit_hit_probability_percent": 17.94871794871795,
      "stop_loss_hit_probability_percent": 35.8974358974359,
      "first_bar_at": "2026-05-03T04:00:00+00:00",
      "last_bar_at": "2026-06-22T01:20:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    },
    {
      "symbol": "BYBIT:BTCUSD.P",
      "timeframe": "15",
      "candidate": "frankie_vp_ema34_bb20x1.8_vp48r24_z0.25_new_york_london_pullback_none_vol1.0",
      "family": "frankie_lux_vp",
      "candidate_params": {
        "ema_len": 34,
        "trend_slope_bars": 3,
        "rsi_len": 14,
        "rsi_reset_bars": 8,
        "bb_len": 20,
        "bb_mult": 1.8,
        "squeeze_window": 50,
        "vp_lookback": 48,
        "vp_rows": 24,
        "value_area_pct": 0.7,
        "value_zone_pct": 0.25,
        "session_filter": "new_york_london",
        "session_volume_len": 20,
        "volume_mult": 1.0,
        "mode": "pullback",
        "candle_model": "none"
      },
      "net_profit": -12.239085228436153,
      "maximum_drawdown_percent": 6.205298990465067,
      "profit_factor": 0.7006463681263886,
      "trade_count": 39,
      "win_probability_percent": 41.02564102564102,
      "take_profit_hit_probability_percent": 17.94871794871795,
      "stop_loss_hit_probability_percent": 35.8974358974359,
      "first_bar_at": "2026-05-03T04:00:00+00:00",
      "last_bar_at": "2026-06-22T01:20:00+00:00",
      "initial_capital": 100.0,
      "leverage": 3.0,
      "position_notional": 300.0,
      "take_profit_percent": 1.0,
      "stop_loss_percent": 0.5
    }
  ],
  "higher_timeframe_profit_pull": {
    "source_timeframes": [
      "240",
      "D",
      "W",
      "M"
    ],
    "usable": false,
    "best_rows": [
      {
        "symbol": "BYBIT:BTCUSD.P",
        "timeframe": "240",
        "candidate": "sc_aio_switchboard_wave_dots_only",
        "family": "sc_aio_switchboard",
        "candidate_params": {
          "layers": [
            "wave_dots"
          ],
          "confirm_mode": "one_enabled",
          "minimum_score": 1,
          "fast_ema": 21,
          "slow_ema": 55,
          "money_flow_len": 14,
          "money_flow_scale": 190.0,
          "money_flow_threshold": 5.0,
          "wave_channel_len": 9,
          "wave_average_len": 13,
          "wave_signal_len": 3,
          "wave_overbought": 53.0,
          "wave_oversold": -53.0,
          "squeeze_len": 20,
          "squeeze_window": 50,
          "bollinger_mult": 2.0,
          "donchian_len": 20,
          "candle_model": "any_reversal",
          "structure_lookback": 20,
          "volume_len": 20,
          "volume_mult": 1.2
        },
        "net_profit": -3.7301283551115034,
        "maximum_drawdown_percent": 5.846625000000003,
        "profit_factor": 0.706797791514818,
        "trade_count": 11,
        "win_probability_percent": 36.36363636363637,
        "take_profit_hit_probability_percent": 27.27272727272727,
        "stop_loss_hit_probability_percent": 54.54545454545454,
        "first_bar_at": "2026-05-03T04:00:00+00:00",
        "last_bar_at": "2026-06-22T00:00:00+00:00",
        "initial_capital": 100.0,
        "leverage": 3.0,
        "position_notional": 300.0,
        "take_profit_percent": 1.0,
        "stop_loss_percent": 0.5
      },
      {
        "symbol": "BYBIT:BTCUSD.P",
        "timeframe": "240",
        "candidate": "sc_aio_switchboard_trend_donchian",
        "family": "sc_aio_switchboard",
        "candidate_params": {
          "layers": [
            "trend",
            "donchian"
          ],
          "confirm_mode": "all_enabled",
          "minimum_score": 2,
          "fast_ema": 21,
          "slow_ema": 55,
          "money_flow_len": 14,
          "money_flow_scale": 190.0,
          "money_flow_threshold": 5.0,
          "wave_channel_len": 9,
          "wave_average_len": 13,
          "wave_signal_len": 3,
          "wave_overbought": 53.0,
          "wave_oversold": -53.0,
          "squeeze_len": 20,
          "squeeze_window": 50,
          "bollinger_mult": 2.0,
          "donchian_len": 20,
          "candle_model": "any_reversal",
          "structure_lookback": 20,
          "volume_len": 20,
          "volume_mult": 1.2
        },
        "net_profit": -4.824395640444152,
        "maximum_drawdown_percent": 9.154499999999814,
        "profit_factor": 0.7255926468553915,
        "trade_count": 15,
        "win_probability_percent": 33.33333333333333,
        "take_profit_hit_probability_percent": 33.33333333333333,
        "stop_loss_hit_probability_percent": 60.0,
        "first_bar_at": "2026-05-03T04:00:00+00:00",
        "last_bar_at": "2026-06-22T00:00:00+00:00",
        "initial_capital": 100.0,
        "leverage": 3.0,
        "position_notional": 300.0,
        "take_profit_percent": 1.0,
        "stop_loss_percent": 0.5
      },
      {
        "symbol": "BYBIT:BTCUSD.P",
        "timeframe": "240",
        "candidate": "frankie_vp_ema34_bb20x1.8_vp36r24_z0.25_all_pullback_none_vol1.0",
        "family": "frankie_lux_vp",
        "candidate_params": {
          "ema_len": 34,
          "trend_slope_bars": 3,
          "rsi_len": 14,
          "rsi_reset_bars": 8,
          "bb_len": 20,
          "bb_mult": 1.8,
          "squeeze_window": 50,
          "vp_lookback": 36,
          "vp_rows": 24,
          "value_area_pct": 0.7,
          "value_zone_pct": 0.25,
          "session_filter": "all",
          "session_volume_len": 20,
          "volume_mult": 1.0,
          "mode": "pullback",
          "candle_model": "none"
        },
        "net_profit": -7.876234620715991,
        "maximum_drawdown_percent": 7.876234620715991,
        "profit_factor": 0.42322415702568617,
        "trade_count": 10,
        "win_probability_percent": 30.0,
        "take_profit_hit_probability_percent": 20.0,
        "stop_loss_hit_probability_percent": 70.0,
        "first_bar_at": "2026-05-03T04:00:00+00:00",
        "last_bar_at": "2026-06-22T00:00:00+00:00",
        "initial_capital": 100.0,
        "leverage": 3.0,
        "position_notional": 300.0,
        "take_profit_percent": 1.0,
        "stop_loss_percent": 0.5
      },
      {
        "symbol": "BYBIT:BTCUSD.P",
        "timeframe": "240",
        "candidate": "frankie_vp_ema34_bb20x1.8_vp36r24_z0.5_all_pullback_none_vol1.0",
        "family": "frankie_lux_vp",
        "candidate_params": {
          "ema_len": 34,
          "trend_slope_bars": 3,
          "rsi_len": 14,
          "rsi_reset_bars": 8,
          "bb_len": 20,
          "bb_mult": 1.8,
          "squeeze_window": 50,
          "vp_lookback": 36,
          "vp_rows": 24,
          "value_area_pct": 0.7,
          "value_zone_pct": 0.5,
          "session_filter": "all",
          "session_volume_len": 20,
          "volume_mult": 1.0,
          "mode": "pullback",
          "candle_model": "none"
        },
        "net_profit": -7.876234620715991,
        "maximum_drawdown_percent": 7.876234620715991,
        "profit_factor": 0.42322415702568617,
        "trade_count": 10,
        "win_probability_percent": 30.0,
        "take_profit_hit_probability_percent": 20.0,
        "stop_loss_hit_probability_percent": 70.0,
        "first_bar_at": "2026-05-03T04:00:00+00:00",
        "last_bar_at": "2026-06-22T00:00:00+00:00",
        "initial_capital": 100.0,
        "leverage": 3.0,
        "position_notional": 300.0,
        "take_profit_percent": 1.0,
        "stop_loss_percent": 0.5
      },
      {
        "symbol": "BYBIT:BTCUSD.P",
        "timeframe": "240",
        "candidate": "frankie_vp_ema34_bb20x1.8_vp48r24_z0.25_all_pullback_none_vol1.0",
        "family": "frankie_lux_vp",
        "candidate_params": {
          "ema_len": 34,
          "trend_slope_bars": 3,
          "rsi_len": 14,
          "rsi_reset_bars": 8,
          "bb_len": 20,
          "bb_mult": 1.8,
          "squeeze_window": 50,
          "vp_lookback": 48,
          "vp_rows": 24,
          "value_area_pct": 0.7,
          "value_zone_pct": 0.25,
          "session_filter": "all",
          "session_volume_len": 20,
          "volume_mult": 1.0,
          "mode": "pullback",
          "candle_model": "none"
        },
        "net_profit": -7.876234620715991,
        "maximum_drawdown_percent": 7.876234620715991,
        "profit_factor": 0.42322415702568617,
        "trade_count": 10,
        "win_probability_percent": 30.0,
        "take_profit_hit_probability_percent": 20.0,
        "stop_loss_hit_probability_percent": 70.0,
        "first_bar_at": "2026-05-03T04:00:00+00:00",
        "last_bar_at": "2026-06-22T00:00:00+00:00",
        "initial_capital": 100.0,
        "leverage": 3.0,
        "position_notional": 300.0,
        "take_profit_percent": 1.0,
        "stop_loss_percent": 0.5
      }
    ],
    "note": "No higher-timeframe profit source is usable yet. Do not add the higher-timeframe profit filter until at least one higher timeframe is profitable with acceptable drawdown."
  },
  "failure_modes": [
    "High-trade candidates are not winning more than losing yet.",
    "No usable higher-timeframe profit source is available yet."
  ],
  "next_code_changes": [
    {
      "priority": 1,
      "change": "Do not add the higher-timeframe profit filter yet; improve or broaden the lower-timeframe baseline first.",
      "why": "The current higher-timeframe rows do not provide positive profit evidence to pull from.",
      "guardrail": "Keep collecting higher-timeframe evidence, but do not let losing higher-timeframe rows filter lower-timeframe trades."
    },
    {
      "priority": 2,
      "change": "Keep collecting under the objective ranking and compare whether the top rows improve over the next cycles.",
      "why": "The strategy report is already ranking by trade count, profit factor, net profit, win probability, take-profit probability, stop-loss probability, and drawdown.",
      "guardrail": "Do not promote a row unless it has enough trades, positive profit, profit factor above 1.05, and controlled drawdown."
    },
    {
      "priority": 3,
      "change": "Use the vector store to compare current screener state against past rows with lower drawdown before choosing the next layer.",
      "why": "This uses the new screener/settings history instead of brute force.",
      "guardrail": "Similarity should recommend only one changed variable at a time."
    }
  ],
  "next_script_changes": [
    {
      "priority": 1,
      "script": "scripts/tv_strategy_lab.py",
      "change": "Keep collecting and do not add another layer until a baseline reaches enough trades with acceptable drawdown.",
      "why": "The current evidence does not justify adding complexity.",
      "guardrail": "Promote only after at least 30 trades, positive net profit, profit factor above 1.05, and controlled drawdown."
    }
  ],
  "scheduler_status": {
    "status_path": "logs\\tv_strategy_lab_latest_run.json",
    "latest_status": {
      "phase": "reviewing progress and next code change",
      "updated_at": "2026-06-21T23:59:04.7510938-05:00",
      "run_id": "20260621T235615",
      "advisory_only": true
    },
    "latest_reports": [
      {
        "path": "reports\\strategy-lab\\latest.html",
        "modified_at": "2026-06-22T04:59:04.716188+00:00",
        "bytes": 77690
      },
      {
        "path": "reports\\strategy-lab\\lux-matrix.html",
        "modified_at": "2026-06-22T04:59:02.791332+00:00",
        "bytes": 180697
      },
      {
        "path": "reports\\strategy-lab\\lux-vector-store-latest.md",
        "modified_at": "2026-06-22T04:59:02.062376+00:00",
        "bytes": 3471
      },
      {
        "path": "reports\\strategy-lab\\lux-vector-store-latest.json",
        "modified_at": "2026-06-22T04:59:02.055395+00:00",
        "bytes": 15857
      },
      {
        "path": "reports\\strategy-lab\\lux-screener-matrix-latest.md",
        "modified_at": "2026-06-22T04:58:59.625734+00:00",
        "bytes": 6724
      },
      {
        "path": "reports\\strategy-lab\\lux-screener-matrix-latest.json",
        "modified_at": "2026-06-22T04:58:59.621746+00:00",
        "bytes": 7342578
      },
      {
        "path": "reports\\strategy-lab\\btc-cycle-macro-latest.md",
        "modified_at": "2026-06-22T04:58:46.650813+00:00",
        "bytes": 1960
      },
      {
        "path": "reports\\strategy-lab\\btc-cycle-macro-latest.json",
        "modified_at": "2026-06-22T04:58:46.645831+00:00",
        "bytes": 5142
      },
      {
        "path": "reports\\strategy-lab\\one-sixteenth-confluence-latest.md",
        "modified_at": "2026-06-22T04:58:45.042767+00:00",
        "bytes": 4104
      },
      {
        "path": "reports\\strategy-lab\\one-sixteenth-confluence-latest.json",
        "modified_at": "2026-06-22T04:58:45.039775+00:00",
        "bytes": 34029
      },
      {
        "path": "reports\\strategy-lab\\daily-htf-confluence-latest.md",
        "modified_at": "2026-06-22T04:58:43.560096+00:00",
        "bytes": 10232
      },
      {
        "path": "reports\\strategy-lab\\daily-htf-confluence-latest.json",
        "modified_at": "2026-06-22T04:58:43.559100+00:00",
        "bytes": 340520
      }
    ],
    "runner": "connector/scripts/run_tv_strategy_lab_scheduled.ps1",
    "scheduled_task": "TwoHittz TradingView Strategy Lab",
    "review_cadence": "runs at the end of every scheduled strategy-lab cycle"
  },
  "script_inventory": {
    "script_count": 17,
    "scripts": [
      {
        "path": "connector\\pine\\ema_8_21_atr7_1.5_tf240_range_locked.pine",
        "lines": 48,
        "declaration": {
          "type": "strategy",
          "title": "TwoHittz Lab ema_8_21_atr7_1.5 4H Range Locked"
        },
        "input_count": 3,
        "toggle_count": 1,
        "timeframe_input_count": 1,
        "strategy_entry_count": 2,
        "strategy_exit_count": 0,
        "uses_process_orders_on_close": true,
        "uses_calc_on_every_tick_false": false,
        "uses_external_source": false,
        "mentions_lux": false,
        "mentions_market_cipher": false,
        "mentions_screener": false,
        "groups": []
      },
      {
        "path": "connector\\pine\\ema_8_21_atr7_1.5_tfD_locked.pine",
        "lines": 48,
        "declaration": {
          "type": "strategy",
          "title": "TwoHittz Lab ema_8_21_atr7_1.5 TF Locked"
        },
        "input_count": 3,
        "toggle_count": 1,
        "timeframe_input_count": 1,
        "strategy_entry_count": 2,
        "strategy_exit_count": 0,
        "uses_process_orders_on_close": true,
        "uses_calc_on_every_tick_false": false,
        "uses_external_source": false,
        "mentions_lux": false,
        "mentions_market_cipher": false,
        "mentions_screener": false,
        "groups": []
      },
      {
        "path": "connector\\pine\\iter1_80min_optimized.pine",
        "lines": 251,
        "declaration": {
          "type": "strategy",
          "title": "MFW 80min Optimized \u2014 Long Only Score5"
        },
        "input_count": 15,
        "toggle_count": 3,
        "timeframe_input_count": 4,
        "strategy_entry_count": 2,
        "strategy_exit_count": 0,
        "uses_process_orders_on_close": true,
        "uses_calc_on_every_tick_false": true,
        "uses_external_source": false,
        "mentions_lux": false,
        "mentions_market_cipher": true,
        "mentions_screener": false,
        "groups": [
          "Higher Timeframes",
          "Money Flow Wave",
          "Signal Settings",
          "WaveTrend"
        ]
      },
      {
        "path": "connector\\pine\\iter3_mfw_vp_divergences.pine",
        "lines": 414,
        "declaration": {
          "type": "strategy",
          "title": "MFW + VP + Divergences"
        },
        "input_count": 28,
        "toggle_count": 6,
        "timeframe_input_count": 4,
        "strategy_entry_count": 2,
        "strategy_exit_count": 0,
        "uses_process_orders_on_close": true,
        "uses_calc_on_every_tick_false": true,
        "uses_external_source": false,
        "mentions_lux": false,
        "mentions_market_cipher": false,
        "mentions_screener": false,
        "groups": [
          "Divergence Detection",
          "Higher Timeframes",
          "Money Flow Wave",
          "Signal Settings",
          "Volume Profile"
        ]
      },
      {
        "path": "connector\\pine\\market_cypher_mfw_strategy.pine",
        "lines": 198,
        "declaration": {
          "type": "strategy",
          "title": "MCB Money Flow Wave \u2014 MTF Strategy"
        },
        "input_count": 14,
        "toggle_count": 2,
        "timeframe_input_count": 4,
        "strategy_entry_count": 2,
        "strategy_exit_count": 0,
        "uses_process_orders_on_close": true,
        "uses_calc_on_every_tick_false": true,
        "uses_external_source": false,
        "mentions_lux": false,
        "mentions_market_cipher": true,
        "mentions_screener": false,
        "groups": [
          "Higher Timeframes",
          "Money Flow Wave",
          "Signal Settings",
          "WaveTrend"
        ]
      },
      {
        "path": "connector\\pine\\mfw_test_longonly.pine",
        "lines": 198,
        "declaration": {
          "type": "strategy",
          "title": "MCB Money Flow Wave \u2014 MTF Strategy"
        },
        "input_count": 14,
        "toggle_count": 2,
        "timeframe_input_count": 4,
        "strategy_entry_count": 2,
        "strategy_exit_count": 0,
        "uses_process_orders_on_close": false,
        "uses_calc_on_every_tick_false": true,
        "uses_external_source": false,
        "mentions_lux": false,
        "mentions_market_cipher": true,
        "mentions_screener": false,
        "groups": [
          "Higher Timeframes",
          "Money Flow Wave",
          "Signal Settings",
          "WaveTrend"
        ]
      },
      {
        "path": "connector\\pine\\mfw_test_longonly_score5.pine",
        "lines": 198,
        "declaration": {
          "type": "strategy",
          "title": "MCB Money Flow Wave \u2014 MTF Strategy"
        },
        "input_count": 14,
        "toggle_count": 2,
        "timeframe_input_count": 4,
        "strategy_entry_count": 2,
        "strategy_exit_count": 0,
        "uses_process_orders_on_close": false,
        "uses_calc_on_every_tick_false": true,
        "uses_external_source": false,
        "mentions_lux": false,
        "mentions_market_cipher": true,
        "mentions_screener": false,
        "groups": [
          "Higher Timeframes",
          "Money Flow Wave",
          "Signal Settings",
          "WaveTrend"
        ]
      },
      {
        "path": "connector\\pine\\mfw_test_score5.pine",
        "lines": 198,
        "declaration": {
          "type": "strategy",
          "title": "MCB Money Flow Wave \u2014 MTF Strategy"
        },
        "input_count": 14,
        "toggle_count": 2,
        "timeframe_input_count": 4,
        "strategy_entry_count": 2,
        "strategy_exit_count": 0,
        "uses_process_orders_on_close": false,
        "uses_calc_on_every_tick_false": true,
        "uses_external_source": false,
        "mentions_lux": false,
        "mentions_market_cipher": true,
        "mentions_screener": false,
        "groups": [
          "Higher Timeframes",
          "Money Flow Wave",
          "Signal Settings",
          "WaveTrend"
        ]
      },
      {
        "path": "connector\\pine\\mfw_with_volume_profile.pine",
        "lines": 259,
        "declaration": {
          "type": "strategy",
          "title": "MFW + Volume Profile Strategy"
        },
        "input_count": 23,
        "toggle_count": 4,
        "timeframe_input_count": 4,
        "strategy_entry_count": 2,
        "strategy_exit_count": 0,
        "uses_process_orders_on_close": true,
        "uses_calc_on_every_tick_false": true,
        "uses_external_source": false,
        "mentions_lux": false,
        "mentions_market_cipher": false,
        "mentions_screener": false,
        "groups": [
          "Higher Timeframes",
          "Money Flow Wave",
          "Signal Settings",
          "Volume Profile"
        ]
      },
      {
        "path": "connector\\pine\\sosaclaw_all_in_one_switchboard.pine",
        "lines": 373,
        "declaration": {
          "type": "strategy",
          "title": "SosaClaw All-In-One Switchboard Strategy"
        },
        "input_count": 71,
        "toggle_count": 17,
        "timeframe_input_count": 3,
        "strategy_entry_count": 2,
        "strategy_exit_count": 6,
        "uses_process_orders_on_close": true,
        "uses_calc_on_every_tick_false": true,
        "uses_external_source": true,
        "mentions_lux": true,
        "mentions_market_cipher": true,
        "mentions_screener": true,
        "groups": [
          "Base Trend Filter",
          "Candles",
          "Donchian",
          "Lux Observable And Screener Gates",
          "Market Cipher Money Flow And Wave Trend",
          "Markov Regime",
          "Risk, Money, Leverage",
          "Run Mode",
          "Squeeze",
          "Structure And Volume Context"
        ]
      },
      {
        "path": "connector\\pine\\varA_longonly.pine",
        "lines": 188,
        "declaration": {
          "type": "strategy",
          "title": "MFW Base \u2014 Long Only"
        },
        "input_count": 14,
        "toggle_count": 2,
        "timeframe_input_count": 4,
        "strategy_entry_count": 1,
        "strategy_exit_count": 0,
        "uses_process_orders_on_close": true,
        "uses_calc_on_every_tick_false": true,
        "uses_external_source": false,
        "mentions_lux": false,
        "mentions_market_cipher": true,
        "mentions_screener": false,
        "groups": [
          "Higher Timeframes",
          "Money Flow Wave",
          "Signal Settings",
          "WaveTrend"
        ]
      },
      {
        "path": "connector\\pine\\varB_longonly_score5.pine",
        "lines": 169,
        "declaration": {
          "type": "strategy",
          "title": "MFW Long Only Score5"
        },
        "input_count": 13,
        "toggle_count": 1,
        "timeframe_input_count": 4,
        "strategy_entry_count": 1,
        "strategy_exit_count": 0,
        "uses_process_orders_on_close": true,
        "uses_calc_on_every_tick_false": true,
        "uses_external_source": false,
        "mentions_lux": false,
        "mentions_market_cipher": true,
        "mentions_screener": false,
        "groups": [
          "Higher Timeframes",
          "Money Flow Wave",
          "Signal Settings",
          "WaveTrend"
        ]
      },
      {
        "path": "connector\\pine\\varC_longonly_momentum.pine",
        "lines": 179,
        "declaration": {
          "type": "strategy",
          "title": "MFW Long Momentum"
        },
        "input_count": 12,
        "toggle_count": 0,
        "timeframe_input_count": 4,
        "strategy_entry_count": 1,
        "strategy_exit_count": 0,
        "uses_process_orders_on_close": true,
        "uses_calc_on_every_tick_false": true,
        "uses_external_source": false,
        "mentions_lux": false,
        "mentions_market_cipher": true,
        "mentions_screener": false,
        "groups": [
          "Higher Timeframes",
          "Money Flow Wave",
          "Signal Settings",
          "WaveTrend"
        ]
      },
      {
        "path": "connector\\pine\\varD_iter2_longonly.pine",
        "lines": 241,
        "declaration": {
          "type": "strategy",
          "title": "MFW+VP Long Only"
        },
        "input_count": 22,
        "toggle_count": 3,
        "timeframe_input_count": 4,
        "strategy_entry_count": 1,
        "strategy_exit_count": 0,
        "uses_process_orders_on_close": true,
        "uses_calc_on_every_tick_false": true,
        "uses_external_source": false,
        "mentions_lux": false,
        "mentions_market_cipher": false,
        "mentions_screener": false,
        "groups": [
          "Higher Timeframes",
          "Money Flow Wave",
          "Signal Settings",
          "Volume Profile"
        ]
      },
      {
        "path": "connector\\pine\\varE_iter2_longonly_score5.pine",
        "lines": 232,
        "declaration": {
          "type": "strategy",
          "title": "MFW+VP Long Score5"
        },
        "input_count": 21,
        "toggle_count": 2,
        "timeframe_input_count": 4,
        "strategy_entry_count": 1,
        "strategy_exit_count": 0,
        "uses_process_orders_on_close": true,
        "uses_calc_on_every_tick_false": true,
        "uses_external_source": false,
        "mentions_lux": false,
        "mentions_market_cipher": false,
        "mentions_screener": false,
        "groups": [
          "Higher Timeframes",
          "Money Flow Wave",
          "Signal Settings",
          "Volume Profile"
        ]
      },
      {
        "path": "connector\\pine\\varF_weekly_daily_align.pine",
        "lines": 456,
        "declaration": {
          "type": "strategy",
          "title": "MFW+VP Lux Observable Confluence"
        },
        "input_count": 51,
        "toggle_count": 9,
        "timeframe_input_count": 4,
        "strategy_entry_count": 2,
        "strategy_exit_count": 0,
        "uses_process_orders_on_close": true,
        "uses_calc_on_every_tick_false": true,
        "uses_external_source": false,
        "mentions_lux": true,
        "mentions_market_cipher": false,
        "mentions_screener": true,
        "groups": [
          "Higher Timeframes",
          "LuxAlgo Backtester",
          "LuxAlgo Gates",
          "LuxAlgo Price Action Concepts Screener",
          "LuxAlgo Signals and Overlays Screener",
          "Money Flow Wave",
          "Signal Settings",
          "Volume Profile"
        ]
      },
      {
        "path": "connector\\pine\\volume_profile_frvp.pine",
        "lines": 156,
        "declaration": {
          "type": "indicator",
          "title": "Volume Profile \u2014 POC/VAH/VAL"
        },
        "input_count": 11,
        "toggle_count": 3,
        "timeframe_input_count": 1,
        "strategy_entry_count": 0,
        "strategy_exit_count": 0,
        "uses_process_orders_on_close": false,
        "uses_calc_on_every_tick_false": false,
        "uses_external_source": false,
        "mentions_lux": false,
        "mentions_market_cipher": false,
        "mentions_screener": false,
        "groups": []
      }
    ],
    "switchboard": {
      "path": "connector\\pine\\sosaclaw_all_in_one_switchboard.pine",
      "lines": 373,
      "declaration": {
        "type": "strategy",
        "title": "SosaClaw All-In-One Switchboard Strategy"
      },
      "input_count": 71,
      "toggle_count": 17,
      "timeframe_input_count": 3,
      "strategy_entry_count": 2,
      "strategy_exit_count": 6,
      "uses_process_orders_on_close": true,
      "uses_calc_on_every_tick_false": true,
      "uses_external_source": true,
      "mentions_lux": true,
      "mentions_market_cipher": true,
      "mentions_screener": true,
      "groups": [
        "Base Trend Filter",
        "Candles",
        "Donchian",
        "Lux Observable And Screener Gates",
        "Market Cipher Money Flow And Wave Trend",
        "Markov Regime",
        "Risk, Money, Leverage",
        "Run Mode",
        "Squeeze",
        "Structure And Volume Context"
      ]
    },
    "exported_my_scripts": "connector\\exports\\my-scripts-20260621-214155"
  },
  "vector_store": {
    "exists": true,
    "runs": 182,
    "screener_observations": 2460,
    "strategy_observations": 18061,
    "best_historical_profit_rows": [
      {
        "broker": "BYBIT",
        "ticker": "BTCUSD.P",
        "timeframe": "15",
        "candidate": "ema_3_13_atr7_1.5",
        "net_profit": -10.9556670551233,
        "maximum_drawdown_percent": 12.896558174629815,
        "profit_factor": 0.26460276233090924,
        "trade_count": 32,
        "win_probability_percent": 25.0
      },
      {
        "broker": "BYBIT",
        "ticker": "BTCUSD.P",
        "timeframe": "15",
        "candidate": "ema_3_13_atr7_2.5",
        "net_profit": -10.9556670551233,
        "maximum_drawdown_percent": 12.896558174629815,
        "profit_factor": 0.26460276233090924,
        "trade_count": 32,
        "win_probability_percent": 25.0
      },
      {
        "broker": "BYBIT",
        "ticker": "BTCUSD.P",
        "timeframe": "15",
        "candidate": "ema_3_13_atr7_3.5",
        "net_profit": -10.9556670551233,
        "maximum_drawdown_percent": 12.896558174629815,
        "profit_factor": 0.26460276233090924,
        "trade_count": 32,
        "win_probability_percent": 25.0
      },
      {
        "broker": "BYBIT",
        "ticker": "BTCUSD.P",
        "timeframe": "15",
        "candidate": "ema_3_13_atr14_1.5",
        "net_profit": -10.9556670551233,
        "maximum_drawdown_percent": 12.896558174629815,
        "profit_factor": 0.26460276233090924,
        "trade_count": 32,
        "win_probability_percent": 25.0
      },
      {
        "broker": "BYBIT",
        "ticker": "BTCUSD.P",
        "timeframe": "15",
        "candidate": "ema_3_13_atr14_2.5",
        "net_profit": -10.9556670551233,
        "maximum_drawdown_percent": 12.896558174629815,
        "profit_factor": 0.26460276233090924,
        "trade_count": 32,
        "win_probability_percent": 25.0
      },
      {
        "broker": "BYBIT",
        "ticker": "BTCUSD.P",
        "timeframe": "15",
        "candidate": "ema_3_13_atr14_3.5",
        "net_profit": -10.9556670551233,
        "maximum_drawdown_percent": 12.896558174629815,
        "profit_factor": 0.26460276233090924,
        "trade_count": 32,
        "win_probability_percent": 25.0
      },
      {
        "broker": "BYBIT",
        "ticker": "BTCUSD.P",
        "timeframe": "15",
        "candidate": "ema_3_13_atr7_1.5",
        "net_profit": -10.9556670551233,
        "maximum_drawdown_percent": 12.896558174629815,
        "profit_factor": 0.26460276233090924,
        "trade_count": 32,
        "win_probability_percent": 25.0
      },
      {
        "broker": "BYBIT",
        "ticker": "BTCUSD.P",
        "timeframe": "15",
        "candidate": "ema_3_13_atr7_2.5",
        "net_profit": -10.9556670551233,
        "maximum_drawdown_percent": 12.896558174629815,
        "profit_factor": 0.26460276233090924,
        "trade_count": 32,
        "win_probability_percent": 25.0
      },
      {
        "broker": "BYBIT",
        "ticker": "BTCUSD.P",
        "timeframe": "15",
        "candidate": "ema_3_13_atr7_3.5",
        "net_profit": -10.9556670551233,
        "maximum_drawdown_percent": 12.896558174629815,
        "profit_factor": 0.26460276233090924,
        "trade_count": 32,
        "win_probability_percent": 25.0
      },
      {
        "broker": "BYBIT",
        "ticker": "BTCUSD.P",
        "timeframe": "15",
        "candidate": "ema_3_13_atr14_1.5",
        "net_profit": -10.9556670551233,
        "maximum_drawdown_percent": 12.896558174629815,
        "profit_factor": 0.26460276233090924,
        "trade_count": 32,
        "win_probability_percent": 25.0
      }
    ]
  },
  "openai_review": {
    "error": "HTTP Error 401: Unauthorized"
  }
}