# cfg_t3m_30d_newbest_full_limit_sl_1.yaml
# 3m TF, ~30d бектест; логіка TP/SL (включно з драбинкою) — В СТРАТЕГІЇ.
# Live runner лише виконує план (ставить ордери).

timeframe: 3m
cache_db: DB/combined_cache_3m_14400_24u.db
universe_file: universe/universe_prof_v2_3m.txt

reports_dir: _reports/_backtest

strategy_class: strategies.breakout_avaai_full_with_universe_7.BreakoutAVAAIFull

strategy_params:
  tp_atr_mult: 4.6
  sl_atr_mult: 0.36            # працює разом із "limit_sl" логікою в страті
  min_atr_ratio: 0.018
  min_momentum_sum: 0.06       # фільтр імпульсу на LTF
  length: 10
  volume_length: 20
  macd_filter: 1

  # --- HEAT exit ---
  exit_on_heat: true
  heat_exit_threshold: 0.93
  heat_exit_min_rr: 1.15

  # --- Розмір позиції / ризик ---
portfolio:
  position_notional: 4.5
  position_notional_max: 68
  initial_equity: 68
  max_notional_frac: 0.99
  slippage_per_side: 0.0016
  fee_rate: 0.0035

  # --- TP/SL: вся логіка в стратегії (плануємо там), runner лише ставить ---
partial_tp:
    enabled: true
    levels: 3                  # 50%, 75%, 87.5% (halving)
    min_notional_usdt: 1.0
    working_type: MARK_PRICE

  # --- HTF-bias гілка: СХИЛЕННЯ сторони після зламу режиму ---
htf_bias:
    enabled: true
    tf: "30m"                  # HTF для визначення зламу (можна "1h")
    break_min: 0.0030          # чутливість до зламу HTF
    confirm_bars: 2            # скільки HTF-барів підтвердження
    hysteresis_bars: 6         # утримувати стан, щоб уникати дьоргання
    cooldown_bars: 10          # мінімальний час дії після зламу
    mode: "tilt"               # "enforce" (жорстко) або "tilt" (м’яке схилення)
    entry_gate: false          # якщо true — блокує протилежну сторону при bias
    rank_boost_short: 0.6      # буст ранкінгу для SHORT під час short bias
    rank_boost_long: 0.6       # буст ранкінгу для LONG під час long bias
    mom_confirm_min: 0.005     # LTF-моментум того ж знаку (0 щоб вимкнути)
    heat_relax_rr: 0.10        # знизити heat-вимогу, коли bias активний (0 вимкнено)

  # --- додаткові опції виконання у бекті (за бажанням) ---
exec:
    jitter_bps: 0.0008         # симуляція сліппу (±8 bps)
    latency_bars: 0
    spread_max_bps: 0.0010     # відсівати надто широкий спред

# За потреби: інші глобальні ключі для бектестера (CLI має пріоритет):
# taker_fee_bps: 0.0005
# entry_slippage_bps: 0.0
# exit_slippage_bps: 0.0
