Uma Análise Detalhada do Funcionamento do Indicador ZigZag
O Indicador ZigZag é um daqueles indicadores que, à primeira vista, parece ser o "Santo Graal" para identificar máximas e mínimas em estratégias como Swing ou Trend Following. Muitas vezes, os novatos ficam impressionados, acreditando que com ele não têm como errar. No entanto, a realidade é bem diferente, principalmente porque ele realiza o que chamamos de "repaint". Isso significa que, durante a evolução dos preços, o indicador pode alterar a máxima ou mínima mais recente para refletir os novos dados. Quando a máxima ou mínima do ZigZag se estabiliza, a situação do mercado já teria mudado e não corresponde mais ao ponto inicialmente indicado.
Mas isso não significa que o indicador é inútil! Pelo contrário, ele pode ser muito útil para analisar dados passados e criar ótimos setups para diversas estratégias — só não da forma como muitos iniciantes acreditam. Existem várias maneiras eficazes de utilizar esse indicador, e convido todos a compartilhar suas ideias sobre como integrá-lo em suas estratégias. No entanto, este não é o foco principal deste artigo.
Meu objetivo foi pegar o código original do ZigZag da Metaquotes e reescrevê-lo de uma forma mais legível (pelo menos para mim). Mais importante, visualizei muitas de suas funcionalidades internas que geralmente não são visíveis no indicador original. Aqui está a lista de recursos extras que a minha versão do indicador, chamada ZigZagExtras, irá exibir:
- Gráficos de linhas mostrando os Máximos Altíssimos e Mínimos Baixíssimos do período de "Depth", um dos parâmetros do indicador original.
- Além dos pontos de máxima e mínima atuais e finalizadas usadas no padrão ZigZag, ele também mostra os pontos anteriores que foram considerados como fortes candidatos a máximas ou mínimas válidas. Estes são apresentados como pequenos círculos preenchidos em máximas ("●") e mínimas ("●").
- Opcionalmente, o indicador pode exibir todos os pontos de BreakOut, rompendo acima das máximas ("○") ou abaixo das mínimas ("○") do período de "Depth", que também foram considerados como potenciais máximas e mínimas. Normalmente, são estes pontos que mais frequentemente são "repaintados" à medida que os preços atuais evoluem, levando os novatos a considerá-los erroneamente como máximas ou mínimas válidas, com resultados desastrosos para seus egos e saldos de conta.
O principal objetivo do código e dos sinais visuais extras é não apenas entender melhor o funcionamento desse indicador, mas também como possíveis sinais que podem ser utilizados em diversas estratégias que você desejar. Eles podem ser úteis para scalping rápido em rompimentos ou como pré-sinais antes de correções, ou até mesmo outras situações que ainda não ocorreram em minha mente. Tenho certeza de que muitos de vocês terão ótimas ideias e espero que queiram compartilhar aqui com todos os leitores.
Instruções:
Basta anexar o indicador a um Gráfico e ajustar os parâmetros como faria com o indicador ZigZag original. Vale ressaltar que a ordem dos parâmetros é diferente, e que Depth e BackStep foram colocados juntos, pois são períodos ou contagens de barras. Além disso, o parâmetro Deviation também aceita frações decimais de um PIP (no caso de corretores de 3/5 dígitos). Opcionalmente, ative a opção Mostrar Pontos de BreakOut no gráfico.
Você também pode habilitar um Alerta para Rompimentos de Máximas e Mínimas. O texto do alerta é configurável, permitindo que seja apresentado na sua própria linguagem.
Registro de Alterações da Versão
Por favor, me avise se encontrar algum bug ou tiver sugestões de "recursos" que gostaria de ver incorporados em futuras versões.
- v1.5: Adicionada diretiva de compilador para modo de compilação estrito.
- v1.4: Correção de um erro esporádico de "array out of range".
- v1.3: Permite que os Alertas sejam utilizados, mesmo sem exibir os BreakOuts.
- v1.2: Exibe o Símbolo e o Time Frame (Período) nas mensagens de Alerta, facilitando o uso em múltiplos gráficos simultaneamente.
- v1.1: Permite que um Alerta seja configurado para Rompimentos de Máximas ou Mínimas. Também foi corrigido um bug que impedia a atualização do indicador com novos dados.
Exemplos de Visualização do Indicador (sem e com os pontos de BreakOut):
Por favor, note que todo o código fonte das minhas publicações na CodeBase está agora disponível na aba "Projetos Públicos" do MetaEditor sob o nome "FMIC".
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
- Painel Gráfico: Mostre a Tendência Atual em Todos os Tempos no MetaTrader 4
- EquiPeak Drawdown Tracker: Controle Eficiente para Seus EAs no MetaTrader 5

