defaults:
  capital: 1000
  position_size: 0.15
  leverage: 3
  hold_bars: 3
  poll_seconds: 60
  retrain_hours: 24

# Solo MR01 Bollinger fade (mean-reversion): unica con edge netto validato
# out-of-sample e fee-aware. La famiglia squeeze e' in scripts/waste/.
# ATTENZIONE: MR01 esce su TP-alla-media / SL-ad-ATR / max_bars (vedi metadata
# dei Signal). Lo StrategyWorker attuale esce solo a hold_bars/stop -2% fisso:
# va aggiornato per usare gli exit in metadata PRIMA di tradare MR01 dal vivo.
strategies:
  - name: MR01_bollinger_fade
    asset: BTC
    tf: 1h
    enabled: true
    params:
      bb_window: 50
      k: 2.5
      sl_atr: 2.0
      max_bars: 24
      trend_max: 3.0       # salta fade contro trend estremo (|close-EMA200|/ATR>3): Acc+ DD-
      ema_long: 200

  # ETH: edge positivo ma DD piu' alto (~70%); leva piu' bassa consigliata
  - name: MR01_bollinger_fade
    asset: ETH
    tf: 1h
    enabled: true
    params:
      bb_window: 50
      k: 2.5
      sl_atr: 2.0
      max_bars: 24
      trend_max: 3.0       # salta fade contro trend estremo (|close-EMA200|/ATR>3): Acc+ DD-
      ema_long: 200

  # MR02 Donchian fade: fade rottura canale (estremi H/L). Robusto su tutta la
  # griglia n x sl_atr e tutte le fee. BTC +879%/+171% OOS (8/9 anni), ETH enorme.
  - name: MR02_donchian_fade
    asset: BTC
    tf: 1h
    enabled: true
    params:
      n: 20
      sl_atr: 2.0
      max_bars: 24
      trend_max: 3.0       # salta fade contro trend estremo (|close-EMA200|/ATR>3): Acc+ DD-
      ema_long: 200
  - name: MR02_donchian_fade
    asset: ETH
    tf: 1h
    enabled: true
    params:
      n: 20
      sl_atr: 2.0
      max_bars: 24
      trend_max: 3.0       # salta fade contro trend estremo (|close-EMA200|/ATR>3): Acc+ DD-
      ema_long: 200

  # MR03 Keltner fade -> spostata in scripts/waste/ (fade piu' debole e ridondante
  # con MR01; il filtro trend la peggiorava su BTC). Vedi CLAUDE.md.

  # MR07 Return reversal: fade movimento di barra estremo (z dei rendimenti).
  # Meccanismo distinto (volatilita' rendimenti, non livelli). Esposizione bassa
  # (~8%). BTC +447%/+105% OOS DD25%, ETH +335%/+195% OOS DD46%.
  - name: MR07_return_reversal
    asset: BTC
    tf: 1h
    enabled: true
    params:
      n: 50
      k: 3.5
      tp_atr: 2.0
      sl_atr: 1.5
      max_bars: 24
      trend_max: 3.0       # salta fade contro trend estremo (|close-EMA200|/ATR>3): Acc+ DD-
      ema_long: 200
  - name: MR07_return_reversal
    asset: ETH
    tf: 1h
    enabled: true
    params:
      n: 50
      k: 3.5
      tp_atr: 2.0
      sl_atr: 1.5
      max_bars: 24
      trend_max: 3.0       # salta fade contro trend estremo (|close-EMA200|/ATR>3): Acc+ DD-
      ema_long: 200

# ---------------------------------------------------------------------------
# PR01 — PAIRS market-neutral spread reversion (worker a 2 GAMBE: src/live/pairs_worker.py)
# Config UNIVERSALE n50 z2 zx0.75 mb72 (anti-overfit, validata walk-forward).
# fee_rt 0.001/gamba -> 0.20% RT/coppia.
# FEED LIVE (verificato 2026-05-29): tutti i leg disponibili su Deribit via Cerbero con
# il naming corretto -> BTC/ETH = "<COIN>-PERPETUAL" (inverse), alt = "<COIN>_USDC-PERPETUAL"
# (lineari USDC, storia dal 2022). Tutte e 5 le coppie tradabili live. ETH/SOL la piu'
# debole (DD ~63%, storia SOL piu' corta) -> peso ridotto consigliato.
pairs:
  - name: PR01_pairs_reversion
    a: ETH
    b: BTC
    tf: 1h
    enabled: true
    params: {n: 50, z_in: 2.0, z_exit: 0.75, max_bars: 72, jump_max: 0.08}
  - name: PR01_pairs_reversion
    a: LTC
    b: ETH
    tf: 1h
    enabled: true
    params: {n: 50, z_in: 2.0, z_exit: 0.75, max_bars: 72, jump_max: 0.08}
  - name: PR01_pairs_reversion
    a: ADA
    b: ETH
    tf: 1h
    enabled: true
    params: {n: 50, z_in: 2.0, z_exit: 0.75, max_bars: 72, jump_max: 0.08}
  - name: PR01_pairs_reversion
    a: BTC
    b: LTC
    tf: 1h
    enabled: true
    params: {n: 50, z_in: 2.0, z_exit: 0.75, max_bars: 72, jump_max: 0.08}
  - name: PR01_pairs_reversion        # la piu' debole (peso ridotto)
    a: ETH
    b: SOL
    tf: 1h
    enabled: true
    params: {n: 50, z_in: 2.0, z_exit: 0.75, max_bars: 72, jump_max: 0.08}
