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:
- Sensibilità – Quanto facilmente il segnale si attiva (valori soglia)
- Conferma – Quante condizioni devono essere soddisfatte (requisiti multi-fattore)
- 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