Guia de configuração de precisão para MagicTradeBot — Ajuste fino de sinais técnicos e precisão de trading

Overview

O sistema de Configuração de Precisão do MagicTradeBot oferece controle total sobre a relação entre qualidade e quantidade de sinais. Cada um dos mais de 15 tipos de sinais possui sua própria seção dedicada de configuração em tradesettings.yaml, permitindo ajustar parâmetros desde agressivos (alta frequência, mais ruído) até conservadores (baixa frequência, alta confiabilidade). Esse nível de controle granular permite analisar milhares de símbolos e filtrar apenas as melhores oportunidades que combinam com o seu perfil de risco.

O Compromisso entre Qualidade e Quantidade

Espectro de Rigor do Sinal

AGRESSIVO ←――――――――――――――――――――――――――――――――――→ CONSERVADOR
(Alta Quantidade)                               (Alta Qualidade)

Mais Sinais                                      Menos Sinais
Menor Taxa de Acerto                             Maior Taxa de Acerto
Maior Risco                                      Menor Risco
Trading Ativo                                    Trading Seletivo

Princípio-chave: Limiares mais rígidos = menos sinais, porém maior probabilidade de acerto. Limiares mais amplos = mais sinais, porém mais falsos positivos.

Filosofia de Configuração

Cada parâmetro de sinal pode ser ajustado em três dimensões:

  1. Sensibilidade – Com que facilidade o sinal é acionado (valores de limiar)
  2. Confirmação – Quantas condições precisam se alinhar (requisitos multifatores)
  3. Filtragem – Quais critérios adicionais devem ser atendidos (volume, volatilidade, etc.)

Estrutura de Configuração

Todas as configurações de sinais são centralizadas em tradesettings.yaml:

yaml
signals:
  rsi:
    enabled: true
    oversold_threshold: 30
    overbought_threshold: 70
    # ... mais configurações de RSI
  
  macd:
    enabled: true
    fast_period: 12
    slow_period: 26
    # ... mais configurações de MACD
  
  # ... todas as demais configurações de sinais

Cada seção é configurável de forma independente, permitindo combinar configurações agressivas para alguns sinais e conservadoras para outros.


Opções de Configuração por Sinal

Configuração de Sinais RSI

Finalidade: Controlar a sensibilidade de sobrecompra/sobrevenda e a detecção de divergência

yaml
rsi:
  enabled: true
  period: 14

  # Configuração de Limiares
  oversold_threshold: 30
  overbought_threshold: 70

  # Filtros de Qualidade
  require_volume_confirmation: true
  min_volume_multiplier: 1.5

  # Configurações de Divergência
  enable_divergence_detection: true
  divergence_lookback: 20
  divergence_min_strength: 0.6

  # Filtragem de Sinais
  ignore_in_strong_trends: true
  min_price_move_percent: 0.5

Guia de Ajuste:

  • Mais Sinais: oversold=40, overbought=60, require_volume=false
  • Sinais Melhores: oversold=20, overbought=80, require_volume=true, min_strength=0.8

Configuração de Sinais MACD

Finalidade: Ajustar com precisão a sensibilidade dos cruzamentos e os limiares do histograma

yaml
macd:
  enabled: true

  # Configuração de Períodos
  fast_period: 12
  slow_period: 26
  signal_period: 9

  # Disparos de Sinal
  trigger_on_crossover: true
  trigger_on_histogram_flip: true
  trigger_on_divergence: true

  # Filtros de Qualidade
  min_histogram_value: 0.0001
  require_momentum_confirmation: true
  min_bars_since_last_signal: 5

  # Divergência
  divergence_lookback: 15
  divergence_min_strength: 0.65

  # Filtros de Contexto
  ignore_choppy_markets: true
  choppiness_threshold: 61.8

Guia de Ajuste:

  • Mais Sinais: fast=8, slow=17, min_histogram=0, ignore_choppy=false
  • Sinais Melhores: fast=16, slow=35, min_histogram=0.0005, min_bars=10

Configuração das Bandas de Bollinger

Objetivo: Controlar a sensibilidade à volatilidade e a rigidez da reversão à média

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

Guia de Ajuste:

  • Mais Sinais: std_dev=1.5, trigger_on_break=true, require_reversal=false
  • Melhores Sinais: std_dev=2.5, min_band_width=3.0, require_volume=true

Configuração de Sinais ATR

Objetivo: Definir limites de expansão de volatilidade e critérios de 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

Guia de Ajuste:

  • Mais Sinais: multiplier=1.2, min_expansion=10, min_bars=3
  • Melhores Sinais: multiplier=2.0, min_expansion=30, min_bars=8, volume=2.0x

Configuração de Sinais de Volume

Objetivo: Definir limites para a detecção de volume incomum

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

Guia de Ajuste:

  • Mais Sinais: multiplier=1.5, min_body=30, min_move=0.5
  • Melhores Sinais: multiplier=3.0, min_body=60, climax=5.0, dollar_volume=500k

Configuração de Sinais de Momentum / Velocidade

Objetivo: Detectar aceleração da taxa de variação

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

Guia de Ajuste:

  • Mais Sinais: period=5, min_momentum=1.0, consecutive=2, require_trend=false
  • Melhores Sinais: period=20, min_momentum=3.0, consecutive=5, velocity=2.0

Configuração de Divergência RSI

Objetivo: Ajustar a sensibilidade da divergência

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

Guia de Ajuste:

  • Mais Sinais: lookback=10, pivot=2, angle=10, volume=false
  • Melhores Sinais: lookback=30, pivot=5, angle=25, rsi_diff=8

Configuração VWAP & Bandas

Objetivo: Configurar a lógica das bandas de desvio 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

Guia de Ajuste:

  • Mais Sinais: trigger_level=1, min_distance=0.2, rejection=false
  • Melhores Sinais: trigger_level=3, min_distance=1.0, volume_percentile=80

Configuração CVD (Cumulative Volume Delta)

Objetivo: Detectar desequilíbrios de pressão

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

Guia de Ajuste:

  • Mais Sinais: lookback=50, min_change=5, exhaustion=0.5
  • Melhores Sinais: lookback=200, min_change=20, strength=0.8, volume_divergence=true

Configuração de Alinhamento Multi-Intervalo

Objetivo: Definir regras de alinhamento entre múltiplos intervalos de gráfico

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

Guia de Ajuste:

  • Mais Sinais: alignment=50, require_higher_tf_trend=false, check 2 TF
  • Melhores Sinais: alignment=100, require_all=true, check 4+ TF

Configuração de Detecção do Regime de Mercado

Objetivo: Detectar condições de mercado em tendência, lateral, volátil ou calmo

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

Guia de Ajuste:

  • Mais Sinais: lookback=20, trend_threshold=20, confirm=1
  • Melhores Sinais: lookback=100, trend_threshold=30, confirm=5

Configuração de Força Relativa vs BTC

Objetivo: Configurar métricas de comparação e limites de desempenho superior

Configuração de Força Relativa vs BTC

Objetivo: Configurar métricas de comparação e limites de desempenho superior

relative_strength:
  enabled: true
  
  # Cálculo de RS
  lookback_period: 20            # Calcular RS em 20 períodos
                                 # Curto prazo = 10, Longo prazo = 50
  
  comparison_symbol: "BTCUSDT"   # Ativo padrão de comparação
  
  # Limites de Força
  min_outperformance_percent: 5  # Deve superar em ≥5%
                                 # Agressivo = 2, Conservador = 10
  
  min_consecutive_periods: 3     # Superar por 3 barras consecutivas
  
  # Filtros de Qualidade
  require_volume_confirmation: true
  min_relative_volume: 1.2       # Volume do símbolo > 1,2x volume relativo do BTC
  
  require_absolute_gain: true    # Tanto o símbolo quanto o BTC devem ser positivos (mercado em alta)
  allow_absolute_loss_outperformance: false # Não sinalizar se ambos estiverem em queda
  
  # Detecção de Divergência
  detect_rs_divergence: true     # Preço enfraquecendo, mas RS fortalecendo
  divergence_lookback: 15
  
  # Alinhamento de Tendência
  require_btc_trend_agreement: false # Permitir sinais contra BTC
  btc_trend_threshold: 0.5       # Se necessário, força da tendência do BTC
  
  # Detecção de Breakout
  detect_rs_breakout: true       # RS rompendo máximas anteriores
  rs_breakout_lookback: 50
  rs_breakout_buffer: 0.95       # Deve exceder 95% da máxima do lookback

Guia de Ajuste:

  • Mais Sinais: min_outperformance=2, consecutive=2, require_absolute=false
  • Sinais Melhores: min_outperformance=10, consecutive=5, require_volume=true

Configuração de Desequilíbrio do Fluxo de Ordens (OFI)

Objetivo: Definir sensibilidade para detecção de desequilíbrio no livro de ordens

order_flow_imbalance:
  enabled: true
  
  # Cálculo de OFI
  calculation_window: 5          # Medir desequilíbrio em 5 ticks/barras
                                 # Ultra-rápido = 3, Padrão = 5, Lento = 10
  
  # Limites de Desequilíbrio
  min_imbalance_ratio: 2.0       # Relação Compras/Vendas > 2,0 ou < 0,5
                                 # Agressivo = 1,5, Conservador = 3,0
  
  min_imbalance_volume: 10000    # Volume mínimo para sinal válido de OFI
  
  # Filtros de Qualidade
  require_sustained_imbalance: true
  min_sustained_periods: 3       # Desequilíbrio deve persistir por 3 janelas de cálculo
  
  require_price_confirmation: true
  min_price_move_with_ofi: 0.1   # Preço deve se mover ≥0,1% na direção do OFI
  
  # Detecção de Exaustão
  detect_ofi_exhaustion: true    # OFI enfraquecendo = reversão
  exhaustion_ratio_threshold: 1.2 # Desequilíbrio caindo abaixo de 1,2
  
  # Filtros de Contexto
  ignore_low_liquidity: true
  min_order_book_depth: 50000    # Exigir profundidade de $50k no melhor bid/ask
  
  ignore_spread_widening: true   # Ignorar sinais quando spread > normal
  max_spread_multiplier: 2.0
  
  # Filtros Baseados no Tempo
  ignore_market_open_close: true # Ignorar primeiros/últimos 5 min da sessão
  open_close_buffer_minutes: 5

Guia de Ajuste:

  • Mais Sinais: window=3, ratio=1.5, sustained=2, price_move=0.05
  • Sinais Melhores: window=10, ratio=3.0, sustained=5, depth=100k

Configuração do Índice de Choppiness

Objetivo: Definir limites para identificação de mercados em tendência vs instáveis

choppiness_index:
  enabled: true
  
  # Cálculo de Chop
  period: 14                     # Padrão = 14, Rápido = 7, Lento = 21
  
  # Limites de Regime
  choppy_threshold: 61.8         # Chop > 61,8 = instável/faixa
  trending_threshold: 38.2       # Chop < 38,2 = tendência forte
                                 # Agressivo: 55/45, Conservador: 65/35
  
  # Geração de Sinal
  signal_on_transition: true     # Sinal ao cruzar limites
  require_confirmation_bars: 2   # Esperar 2 barras após cruzamento
  
  signal_direction_from:         # Como determinar compra/venda
    method: "PRICE_MOMENTUM"     # Opções: "PRICE_MOMENTUM", "BREAKOUT_DIRECTION", "CUSTOM"
    lookback: 10
  
  # Filtros de Qualidade
  min_time_in_chop: 10           # Deve estar instável por ≥10 barras antes do breakout
  max_time_in_chop: 50           # Não sinalizar se instável >50 barras (provável continuação)
  
  require_volume_expansion: true # Volume deve aumentar no breakout
  min_volume_multiplier: 1.5
  
  # Uso Integrado
  use_as_filter_only: false      # True = apenas filtrar outros sinais, não gerar próprios
  
  filter_other_signals_in_chop: true # Desativar certos sinais quando instável
  signals_to_disable_in_chop:
    - "BREAKOUT"
    - "MOMENTUM"
    - "TREND_FOLLOWING"
  
  signals_to_enable_in_chop:
    - "MEAN_REVERSION"
    - "RANGE_TRADING"

Guia de Ajuste:

  • Mais Sinais: thresholds=55/45, confirmation=1, min_time=5
  • Sinais Melhores: thresholds=65/35, confirmation=3, min_time=15, max_time=30

📎 Related Topics