Guida alla configurazione di precisione per MagicTradeBot — Regola finemente i segnali tecnici e la precisione del trading

Overview

Il sistema di Precision Configuration di MagicTradeBot ti offre il pieno controllo tra qualità e quantità dei segnali. Ognuno dei più di 15 tipi di segnale ha una propria sezione dedicata di configurazione in tradesettings.yaml, permettendoti di regolare i parametri da aggressivi (alta frequenza, più rumore) a conservativi (bassa frequenza, alta affidabilità). Questo controllo granulare ti consente di analizzare migliaia di simboli e filtrare solo le migliori opportunità che corrispondono al tuo profilo di rischio.

Il compromesso Qualità vs Quantità

Spettro di Rigidità del Segnale

AGGRESSIVO ←――――――――――――――――――――――――――――――――――→ CONSERVATIVO
(Alta Quantità)                                (Alta Qualità)

Più Segnali                                    Meno Segnali
Tasso di successo inferiore                    Tasso di successo superiore
Rischio più elevato                            Rischio più basso
Trading attivo                                 Trading selettivo

Principio chiave: Soglie più strette = meno segnali ma maggiore probabilità di successo. Soglie più ampie = più segnali ma più falsi positivi.

Filosofia di Configurazione

Ogni parametro del segnale può essere regolato lungo tre dimensioni:

  1. Sensibilità – Quanto facilmente il segnale si attiva (valori soglia)
  2. Conferma – Quante condizioni devono essere soddisfatte (requisiti multi-fattore)
  3. Filtraggio – Quali criteri aggiuntivi devono essere rispettati (volume, volatilità, ecc.)

Struttura di Configurazione

Tutte le impostazioni dei segnali sono centralizzate in tradesettings.yaml:

yaml
signals:
  rsi:
    enabled: true
    oversold_threshold: 30
    overbought_threshold: 70
    # ... altre impostazioni RSI
  
  macd:
    enabled: true
    fast_period: 12
    slow_period: 26
    # ... altre impostazioni MACD
  
  # ... tutte le altre configurazioni dei segnali

Ogni sezione è configurabile in modo indipendente, permettendoti di combinare impostazioni aggressive per alcuni segnali e conservative per altri.


Opzioni di Configurazione per Ogni Segnale

Configurazione dei Segnali RSI

Scopo: Controllare la sensibilità di ipercomprato/ipervenduto e il rilevamento delle divergenze

yaml
rsi:
  enabled: true
  period: 14

  # Configurazione delle Soglie
  oversold_threshold: 30
  overbought_threshold: 70

  # Filtri di Qualità
  require_volume_confirmation: true
  min_volume_multiplier: 1.5

  # Impostazioni Divergenze
  enable_divergence_detection: true
  divergence_lookback: 20
  divergence_min_strength: 0.6

  # Filtraggio dei Segnali
  ignore_in_strong_trends: true
  min_price_move_percent: 0.5

Guida alla Regolazione:

  • Più Segnali: oversold=40, overbought=60, require_volume=false
  • Segnali Migliori: oversold=20, overbought=80, require_volume=true, min_strength=0.8

Configurazione dei Segnali MACD

Scopo: Regolare finemente la sensibilità dei crossover e le soglie dell’istogramma

yaml
macd:
  enabled: true

  # Configurazione dei Periodi
  fast_period: 12
  slow_period: 26
  signal_period: 9

  # Trigger dei Segnali
  trigger_on_crossover: true
  trigger_on_histogram_flip: true
  trigger_on_divergence: true

  # Filtri di Qualità
  min_histogram_value: 0.0001
  require_momentum_confirmation: true
  min_bars_since_last_signal: 5

  # Divergenze
  divergence_lookback: 15
  divergence_min_strength: 0.65

  # Filtri Contestuali
  ignore_choppy_markets: true
  choppiness_threshold: 61.8

Guida alla Regolazione:

  • Più Segnali: fast=8, slow=17, min_histogram=0, ignore_choppy=false
  • Segnali Migliori: fast=16, slow=35, min_histogram=0.0005, min_bars=10

Configurazione delle Bande di Bollinger

Scopo: Controllare la sensibilità alla volatilità e la rigidità della media di ritorno

yaml
bollinger_bands:
  enabled: true

  period: 20
  std_dev: 2.0

  trigger_on_touch: true
  trigger_on_break: false
  require_reversal_candle: true

  min_band_width_percent: 2.0
  max_band_width_percent: 10.0
  require_volume_spike: true
  min_volume_ratio: 1.3

  enable_squeeze_alerts: true
  squeeze_threshold: 1.5
  squeeze_breakout_multiplier: 2.0

  require_price_return_to_middle: false

Guida alla regolazione:

  • Più segnali: std_dev=1.5, trigger_on_break=true, require_reversal=false
  • Segnali migliori: std_dev=2.5, min_band_width=3.0, require_volume=true

Configurazione dei segnali ATR

Scopo: Definire le soglie di espansione della volatilità e i criteri di breakout

yaml
atr:
  enabled: true
  period: 14

  breakout_multiplier: 1.5
  min_atr_expansion_percent: 20
  lookback_for_expansion: 10

  require_volume_confirmation: true
  min_volume_multiplier: 1.8
  require_directional_close: true
  close_position_percent: 0.8

  min_bars_in_consolidation: 5
  max_prior_volatility: 2.5

  ignore_gaps: true
  ignore_news_hours: true

Guida alla regolazione:

  • Più segnali: multiplier=1.2, min_expansion=10, min_bars=3
  • Segnali migliori: multiplier=2.0, min_expansion=30, min_bars=8, volume=2.0x

Configurazione dei segnali di volume

Scopo: Impostare soglie per rilevare volumi insoliti

yaml
volume:
  enabled: true

  lookback_period: 20
  spike_multiplier: 2.0

  detect_buying_volume: true
  detect_selling_volume: true
  detect_climax_volume: true

  min_candle_body_percent: 40
  require_price_confirmation: true
  min_price_move_percent: 1.0

  climax_multiplier: 4.0
  climax_lookback: 50
  signal_reversal_after_climax: true

  use_volume_profile: true
  significant_level_volume_ratio: 1.5

  ignore_low_liquidity_symbols: true
  min_dollar_volume: 100000

Guida alla regolazione:

  • Più segnali: multiplier=1.5, min_body=30, min_move=0.5
  • Segnali migliori: multiplier=3.0, min_body=60, climax=5.0, dollar_volume=500k

Configurazione Segnali di Momentum / Velocità

Scopo: Rilevare l'accelerazione del tasso di variazione

yaml
momentum_velocity:
  enabled: true

  momentum_period: 10
  velocity_lookback: 5

  min_momentum_percent: 2.0
  min_velocity_increase: 1.5

  require_sustained_momentum: true
  min_consecutive_periods: 3
  require_volume_increase: true

  enable_momentum_divergence: true
  divergence_lookback: 15
  divergence_sensitivity: 0.7

  ignore_choppy_conditions: true
  max_directional_changes: 2
  require_trend_alignment: true
  trend_timeframe_multiplier: 4

Guida alla Regolazione:

  • Più segnali: period=5, min_momentum=1.0, consecutive=2, require_trend=false
  • Migliori segnali: period=20, min_momentum=3.0, consecutive=5, velocity=2.0

Configurazione Divergenza RSI

Scopo: Regolare la sensibilità alla divergenza

yaml
rsi_divergence:
  enabled: true

  lookback_period: 20

  min_pivot_strength: 3
  min_pivots_required: 2

  min_divergence_angle: 15
  min_rsi_difference: 5
  min_price_difference_percent: 1.0

  require_volume_confirmation: true
  volume_must_decrease: true
  require_trend_context: true

  detect_hidden_divergence: true
  hidden_requires_stricter_rules: true

  ignore_in_consolidation: true
  min_atr_for_signal: 0.5

Guida alla Regolazione:

  • Più segnali: lookback=10, pivot=2, angle=10, volume=false
  • Migliori segnali: lookback=30, pivot=5, angle=25, rsi_diff=8

Configurazione VWAP & Bande

Scopo: Configurare la logica delle bande di deviazione VWAP

yaml
vwap:
  enabled: true

  reset_period: "daily"
  use_cumulative: true

  enable_bands: true
  band_1_std_dev: 1.0
  band_2_std_dev: 2.0
  band_3_std_dev: 3.0

  trigger_on_band_touch: true
  trigger_level: 2
  require_rejection_candle: true

  min_distance_from_vwap_percent: 0.5
  require_volume_at_level: true
  volume_percentile_threshold: 70

  require_return_toward_vwap: true
  min_reversion_percent: 30
  max_bars_for_reversion: 5

  ignore_trending_markets: false
  min_time_from_reset: 60

Guida alla Regolazione:

  • Più segnali: trigger_level=1, min_distance=0.2, rejection=false
  • Migliori segnali: trigger_level=3, min_distance=1.0, volume_percentile=80

Configurazione CVD (Cumulative Volume Delta)

Scopo: Rilevare squilibri di pressione

yaml
cvd:
  enabled: true

  lookback_period: 100

  enable_divergence_signals: true
  divergence_lookback: 20
  min_divergence_strength: 0.7

  cvd_trend_period: 20
  min_cvd_trend_strength: 0.6

  trigger_on_divergence: true
  trigger_on_trend_change: true
  trigger_on_exhaustion: true

  min_cvd_change_percent: 10
  require_price_confirmation: true
  min_price_move_percent: 0.8

  exhaustion_lookback: 10
  exhaustion_threshold: 0.3
  require_volume_divergence: true

  ignore_low_volume_periods: true
  min_volume_for_valid_cvd: 1.5

Guida alla Regolazione:

  • Più segnali: lookback=50, min_change=5, exhaustion=0.5
  • Migliori segnali: lookback=200, min_change=20, strength=0.8, volume_divergence=true

Configurazione Allineamento Multi-Timeframe

Scopo: Definire le regole di allineamento tra più intervalli di grafico

yaml
multi_timeframe:
  enabled: true

  base_timeframe: "5m"
  higher_timeframes:
    - "15m"
    - "1h"
    - "4h"

  require_all_aligned: false
  min_alignment_percent: 75

  primary_signals:
    - "RSI"
    - "MACD"
    - "MOMENTUM"

  confirmation_signals:
    - "TREND_DIRECTION"
    - "REGIME"

  trend_indicator: "EMA"
  trend_periods:
    fast: 20
    slow: 50

  require_higher_tf_trend: true
  min_higher_tf_strength: 0.6
  ignore_conflicting_signals: true

  weight_by_timeframe: true
  timeframe_weights:
    "5m": 1.0
    "15m": 1.5
    "1h": 2.0
    "4h": 3.0

Guida alla Regolazione:

  • Più segnali: alignment=50, require_higher_tf_trend=false, check 2 TF
  • Migliori segnali: alignment=100, require_all=true, check 4+ TF

Configurazione Rilevamento Regime di Mercato

Scopo: Rilevare condizioni di mercato trending, ranging, volatili o calme

yaml
market_regime:
  enabled: true

  lookback_period: 50

  trend_indicator: "ADX"
  trend_threshold: 25

  range_indicator: "CHOPPINESS"
  range_threshold: 61.8

  volatility_measure: "ATR_PERCENTILE"
  high_volatility_threshold: 70
  low_volatility_threshold: 30

  signal_on_regime_change: true
  require_confirmation_bars: 3

  adjust_other_signals: true

  regime_adjustments:
    trending:
      rsi_overbought: 80
      rsi_oversold: 20
      follow_trend_only: true
    
    ranging:
      bb_std_dev: 1.5
      enable_mean_reversion: true
      disable_breakout_signals: true
    
    volatile:
      atr_multiplier: 2.5
      reduce_position_size: 0.5
    
    calm:
      atr_multiplier: 1.2
      increase_position_size: 1.2

Guida alla Regolazione:

  • Più segnali: lookback=20, trend_threshold=20, confirm=1
  • Migliori segnali: lookback=100, trend_threshold=30, confirm=5

Configurazione Relative Strength vs BTC

Scopo: Configurare le metriche di confronto e le soglie di sovraperformance

Configurazione Relative Strength vs BTC

Scopo: Configurare le metriche di confronto e le soglie di sovraperformance

relative_strength:
  enabled: true
  
  # Calcolo RS
  lookback_period: 20            # Calcola RS su 20 periodi
                                 # Breve termine = 10, Lungo termine = 50
  
  comparison_symbol: "BTCUSDT"   # Asset di confronto predefinito
  
  # Soglie di forza
  min_outperformance_percent: 5  # Deve sovraperformare di ≥5%
                                 # Aggressivo = 2, Conservativo = 10
  
  min_consecutive_periods: 3     # Sovraperformance per 3 barre consecutive
  
  # Filtri di qualità
  require_volume_confirmation: true
  min_relative_volume: 1.2       # Volume del simbolo > 1.2x volume relativo di BTC
  
  require_absolute_gain: true    # Sia il simbolo che BTC devono essere positivi (mercato rialzista)
  allow_absolute_loss_outperformance: false # Non segnalare se entrambi in calo
  
  # Rilevamento divergenze
  detect_rs_divergence: true     # Prezzo in calo ma RS in crescita
  divergence_lookback: 15
  
  # Allineamento trend
  require_btc_trend_agreement: false # Permetti segnali contrari a BTC
  btc_trend_threshold: 0.5       # Se richiesto, forza del trend BTC necessaria
  
  # Rilevamento breakout
  detect_rs_breakout: true       # RS supera i massimi precedenti
  rs_breakout_lookback: 50
  rs_breakout_buffer: 0.95       # Deve superare il 95% del massimo del periodo di riferimento

Guida al Tuning:

  • Più segnali: min_outperformance=2, consecutive=2, require_absolute=false
  • Migliori segnali: min_outperformance=10, consecutive=5, require_volume=true

Configurazione Order Flow Imbalance (OFI)

Scopo: Impostare la sensibilità per il rilevamento dello squilibrio dell’order book

order_flow_imbalance:
  enabled: true
  
  # Calcolo OFI
  calculation_window: 5          # Misura squilibrio su 5 tick/barre
                                 # Ultra-veloce = 3, Standard = 5, Lento = 10
  
  # Soglie di squilibrio
  min_imbalance_ratio: 2.0       # Rapporto Buy/Sell > 2.0 o < 0.5
                                 # Aggressivo = 1.5, Conservativo = 3.0
  
  min_imbalance_volume: 10000    # Volume minimo per un segnale OFI valido
  
  # Filtri di qualità
  require_sustained_imbalance: true
  min_sustained_periods: 3       # Lo squilibrio deve persistere 3 finestre di calcolo
  
  require_price_confirmation: true
  min_price_move_with_ofi: 0.1   # Prezzo deve muoversi ≥0.1% nella direzione OFI
  
  # Rilevamento esaurimento
  detect_ofi_exhaustion: true    # Indebolimento OFI = inversione
  exhaustion_ratio_threshold: 1.2 # Squilibrio sotto 1.2
  
  # Filtri contestuali
  ignore_low_liquidity: true
  min_order_book_depth: 50000    # Richiesta profondità $50k al miglior bid/ask
  
  ignore_spread_widening: true   # Ignora segnali se spread > normale
  max_spread_multiplier: 2.0
  
  # Filtri temporali
  ignore_market_open_close: true # Ignora primi/ultimi 5 minuti della sessione
  open_close_buffer_minutes: 5

Guida al Tuning:

  • Più segnali: window=3, ratio=1.5, sustained=2, price_move=0.05
  • Migliori segnali: window=10, ratio=3.0, sustained=5, depth=100k

Configurazione Choppiness Index

Scopo: Definire soglie per identificare mercati in trend vs mercati laterali

choppiness_index:
  enabled: true
  
  # Calcolo Chop
  period: 14                     # Standard = 14, Veloce = 7, Lento = 21
  
  # Soglie regime
  choppy_threshold: 61.8         # Chop > 61.8 = mercato laterale
  trending_threshold: 38.2       # Chop < 38.2 = forte trend
                                 # Aggressivo: 55/45, Conservativo: 65/35
  
  # Generazione segnali
  signal_on_transition: true     # Segnale al superamento soglie
  require_confirmation_bars: 2   # Attendi 2 barre dopo il superamento
  
  signal_direction_from:         # Come determinare buy/sell
    method: "PRICE_MOMENTUM"     # Opzioni: "PRICE_MOMENTUM", "BREAKOUT_DIRECTION", "CUSTOM"
    lookback: 10
  
  # Filtri di qualità
  min_time_in_chop: 10           # Deve rimanere laterale ≥10 barre prima del breakout
  max_time_in_chop: 50           # Non segnalare se laterale >50 barre (probabile continuazione)
  
  require_volume_expansion: true # Volume deve aumentare al breakout
  min_volume_multiplier: 1.5
  
  # Uso integrato
  use_as_filter_only: false      # True = solo filtra altri segnali, non genera propri
  
  filter_other_signals_in_chop: true # Disabilita certi segnali quando laterale
  signals_to_disable_in_chop:
    - "BREAKOUT"
    - "MOMENTUM"
    - "TREND_FOLLOWING"
  
  signals_to_enable_in_chop:
    - "MEAN_REVERSION"
    - "RANGE_TRADING"

Guida al Tuning:

  • Più segnali: thresholds=55/45, confirmation=1, min_time=5
  • Migliori segnali: thresholds=65/35, confirmation=3, min_time=15, max_time=30

📎 Related Topics