
Como Funciona o Template?
Esse indicador oferece um template para traçar divergências com base no seu oscillator preferido.
Dependendo do oscillator que você escolher (seja CCI, RSI ou até mesmo um indicador personalizado), você pode modificar essa parte do código:
///////////////////////////////////////////// //Carregar dados do indicador no buffer do indicador //Você pode facilmente substituir RSI por qualquer indicador que preferir int BARS=MathMax(rates_total-IndicatorCounted()-pivots_period,1); for(int i=BARS;i>=0;i--) { indicatorBuffer[i]=iRSI(_Symbol, PERIOD_CURRENT, 14, PRICE_CLOSE, i); } //Fim da seção de carregamento do indicador /////////////////////////////////////////////
Buffers de Sinal
SetIndexBuffer(3,bull_reg_divBuffer); SetIndexBuffer(4,bear_reg_divBuffer); SetIndexBuffer(5,bull_hid_divBuffer); SetIndexBuffer(6,bear_hid_divBuffer);
Seção de Entradas
input int pivots_period=5; //período para encontrar pivôs do indicador input int alert_confirm_candles=1; //#candles para confirmação (0=desabilitar alerta)
Encontrar pontos altos e pontos baixos no indicatorBuffer depende da entrada pivots_period. Quanto maior você escolher esse valor, mais amplas serão as oscilações buscadas para possíveis divergências.
Outra entrada é alert_confirm_candles, que define quantas barras esperar para confirmar um sinal. Indicadores de divergência costumam ter um atraso e geram muitos sinais falsos. Quanto maior você escolher esse valor, mais tempo irá esperar e, assim, a quantidade de sinais falsos diminui. É um compromisso entre querer sinais em tempo real ou aqueles confirmados.
Normalmente, você não pode aplicar pivots_period < 2.
Problema de Repaint
Indicadores que dependem de cálculos de pivôs precisam esperar pelo menos pivots_period para obter uma confirmação do último ponto alto/baixo. Portanto, esse indicador precisa repaintar sinais até pivots_period para trás no tempo.
BARS=MathMax(rates_total-IndicatorCounted()-pivots_period,pivots_period); for(int i=BARS;i>=0;i--) { PHBuffer[i]=pivothigh(indicatorBuffer, pivots_period, pivots_period, i); PLBuffer[i]=pivotlow(indicatorBuffer, pivots_period, pivots_period, i); bull_reg_divBuffer[i]=BullRegDiv(i); bear_reg_divBuffer[i]=BearRegDiv(i); bull_hid_divBuffer[i]=BullHidDiv(i); bear_hid_divBuffer[i]=BearHidDiv(i); }
Publicações relacionadas
- Buffers Horários para Coleta de Dados no MetaTrader 5
- Calendário Econômico: Monitoramento e Cache para Testes de Estratégia no MetaTrader 5
- Pivot Point Personalizado com Horário de Fechamento Ajustável para MetaTrader 4
- Índice de Preferência do Investidor: Um Guia Prático para Traders
- Painel Gráfico: Mostre a Tendência Atual em Todos os Tempos no MetaTrader 4