{
  "platform": {
    "name": "rentech_ma_slope_intraday",
    "log_dir": "RenTech/data/logs/live_platform",
    "kill_switch_path": "RenTech/live/config/KILL_SWITCH",
    "state_dir": "RenTech/data/live_state"
  },
  "broker": {
    "adapter": "ibkr",
    "host": "127.0.0.1",
    "port": 7497,
    "client_id": 4,
    "connect_timeout_sec": 15,
    "market_data_type": 3
  },
  "risk": {
    "max_daily_loss_usd": 2500,
    "max_daily_loss_pct_nav": 0.02,
    "min_net_liq_usd": 25000,
    "max_margin_utilization": 0.70,
    "halt_on_kill_switch": true,
    "recommend_only": true,
    "min_excess_liquidity_usd": 5000,
    "block_if_pending_orders": true
  },
  "strategies": [
    {
      "id": "ma_slope_intraday",
      "enabled": true,
      "module": "RenTech.live.strategies.ma_slope_intraday_ibkr:MaSlopeIntradayIbkrStrategy",
      "priority": 20,
      "capital_budget_mode": "nav_pct",
      "capital_budget_nav_pct": 0.10,
      "max_new_entries_per_day": 1,
      "max_open_positions": 10,
      "enabled_for_entries": true,
      "config": {
        "top_n": 10,
        "max_tickers": 500,
        "data_source": "alpaca_parquet",
        "capital_budget_nav_pct": 0.10,
        "entry_after_et": "10:40",
        "entry_before_et": "11:05",
        "exit_after_et": "15:55",
        "exit_before_et": "16:00",
        "state_path": "RenTech/data/live_state/ma_slope_intraday.json",
        "recommend_out": "RenTech/data/logs/ma_slope_intraday_ibkr_recommendation.json"
      }
    }
  ]
}
