Autor: Andrey N. Bolkonsky
O Indicador de Convergência/Divergência de Médias Móveis, desenvolvido por William Blau, é detalhado no livro Momentum, Direção e Divergência: Aplicando os Últimos Indicadores de Momentum para Análise Técnica.
O Indicador MACD (Convergência/Divergência de Médias Móveis) é calculado pela diferença entre duas médias móveis exponenciais (EMA) (a EMA rápida possui o período s e a EMA lenta o período r).
O sinal do MACD indica a posição relativa entre a EMA de período s e a EMA de período r. Ele é positivo quando EMA(s) > EMA(r) e negativo quando EMA(s) < EMA(r). O aumento do |MACD| (valor absoluto) indica a divergência das médias móveis, enquanto a diminuição de |MACD| indica a convergência das EMAs.
- O arquivo WilliamBlau.mqh deve ser colocado na pasta terminal_data_folder\MQL5\Include\
- O arquivo Blau_SM_Stochastic.mq5 deve ser colocado na pasta terminal_data_folder\MQL5\Indicators\

Convergência/Divergência de Médias Móveis por William Blau.
Cálculo:
A Convergência/Divergência de Médias Móveis é calculada pela fórmula:
macd(preço,r,s) = EMA(preço,s) - EMA(preço,r)
s < r
onde:
- preço - preço de fechamento do período atual;
- EMA(preço,r) - EMA lenta com período r, aplicada ao preço;
- EMA(preço,s) - EMA rápida com período s, aplicada ao preço.
A fórmula do MACD de William Blau é a seguinte:
MACD(preço,r,s,u) = EMA( macd(preço,r,s) ,u) = EMA( EMA(preço,s)-EMA(preço,r) ,u)
s < r
onde:
- preço - preço de fechamento;
- EMA(preço,r) - 1ª suavização - EMA lenta, aplicada ao preço;
- EMA(preço,s) - 2ª suavização - EMA rápida, aplicada ao preço;
- macd(r,s)=EMA(preço,s)-EMA(preço,r) - convergência/divergência das médias móveis;
- EMA(macd(r,s),u) - 3ª suavização (com período u), aplicada ao MACD.
- r - período da 1ª EMA (lenta), aplicada ao preço (por padrão r=20);
- s - período da 2ª EMA (rápida), aplicada ao preço (por padrão s=5);
- u - período da 3ª EMA, aplicada ao MACD (por padrão u=3);
- AppliedPrice - tipo de preço (por padrão AppliedPrice=PRICE_CLOSE).
- r>1, s>1;
- s<r (segundo William Blau, não há verificações no código);
- u>0. Se u=1, a suavização não é utilizada;
- Taxas mínimas =([max(r,s)]+u-2+1).
Publicações relacionadas
- Calendário Econômico: Monitoramento e Cache para Testes de Estratégia no MetaTrader 5
- Buffers Horários para Coleta de Dados no MetaTrader 5
- EquiPeak Drawdown Tracker: Controle Eficiente para Seus EAs no MetaTrader 5
- Níveis Históricos: O Indicador Essencial para MetaTrader 5
- Pivot Point Personalizado com Horário de Fechamento Ajustável para MetaTrader 4