Autor: Andrey N. Bolkonsky
O Índice de Desvio Médio (Mean Deviation Index, MDI), desenvolvido por William Blau, é um indicador que utiliza uma média móvel suavizada para ajudar a identificar a direção do mercado e potenciais pontos de reversão.
O desvio médio é definido como a distância entre o preço de fechamento e a média móvel exponencial suavizada, aplicada ao preço de fechamento.
- A suavização gera um atraso, o que pode ser observado nos pontos de reversão de preço. O valor do desvio médio indica a distância entre o preço e a média móvel de r períodos aplicada ao preço.
- O sinal do desvio médio mostra a posição do preço em relação à média móvel de r períodos: é positivo se o preço estiver abaixo da média móvel e negativo se o preço estiver acima da média móvel.
Como usar:
- Coloque o arquivo WilliamBlau.mqh na pasta terminal_data_folder\MQL5\Include\
- Coloque o arquivo Blau_MDI.mq5 na pasta terminal_data_folder\MQL5\Indicators\

Índice de Desvio Médio de William Blau
Cálculo:
O desvio médio é calculado pela fórmula:
md(price,r) = price - EMA(price,r)
onde:
- price - preço de fechamento;
- EMA(price,r) - tendência de mercado, determinada pela média móvel exponencial suavizada com período r, aplicada ao preço.
O Índice de Desvio Médio é calculado pela fórmula:
MDI(price,r,s,u) = EMA(EMA( md(price,r) ,s),u) = EMA(EMA( price-EMA(price,r) ,s),u)
onde:
- price - preço de fechamento;
- EMA(price,r) - direção do mercado - 1ª suavização EMA de período r, aplicada ao preço;
- md(price,r)=price-EMA(price,r) - desvio médio;
- EMA(md(price,r),s) - 2ª suavização - média móvel exponencial suavizada de período s, aplicada ao desvio médio;
- EMA(EMA(md(price,r),s),u) - 3ª suavização - média móvel exponencial suavizada de período u, aplicada ao resultado da 1ª suavização;
- r - período da 1ª EMA, aplicada ao preço (por padrão r=20);
- s - período da 2ª EMA, aplicada ao desvio médio (por padrão s=5);
- u - período da 3ª EMA, aplicada ao resultado da suavização (por padrão u=3);
- AppliedPrice - tipo de preço (por padrão AppliedPrice=PRICE_CLOSE).
- r>1;
- s>0, u>0. Se r, s ou u =1, a suavização não é utilizada;
- Taxa mínima=(r+s+u-3+1).
Publicações relacionadas
- iMFISignAlert: O Indicador para MetaTrader 5 que Gera Alertas
- 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
- Utilitário de Informações de Séries e Taxas para MetaTrader 5: Maximize Seu Trading
- Utilitário de Informações de Barras e Taxas: Como Usar no MetaTrader 5