Se você já tentou programar um pivô manual no MetaTrader 5, sabe o que é perder tempo ajustando fórmulas e redesenhando linhas a cada novo candle. O ponto de dor real é transformar a lógica de cálculo em um script que rode em tempo real, sem travar o gráfico e ainda permita ajustes de período ou de método de cálculo. O objetivo aqui é mostrar, passo a passo, como montar um indicador que identifica automaticamente pivôs de alta e baixa, plota setas coloridas e entrega alertas prontos para uso em estratégias de breakout ou reversão.
Por que a automação costuma falhar
- Lag de dados. Muitos traders usam
Close[i]ao invés deHigh[i]eLow[i], o que gera falsos sinais quando o preço ainda está em formação. - Limite de memória. Um loop que varre 500 candles a cada tick pode sobrecarregar o terminal, especialmente em pares voláteis.
- Parâmetros rígidos. Fixar o número de barras antes e depois do pivô (ex.: 5/5) funciona em tendências suaves, mas gera ruído em mercados laterais.
Estrutura mínima do código
| Bloco | Função |
|---|---|
| Entrada de parâmetros | int InpLeft=5, InpRight=5; // barras antes e depois |
| Detecção | bool IsPivotHigh(int i){return High[i]>High[i+1] && High[i]>High[i-1] && …;} |
| Plotagem | ObjectCreate(0,”Piv”+IntegerToString(i),OBJ_ARROW,0,Time[i],High[i]+offset); |
| Alertas | Alert(“Pivô de alta detectado”); |
Exemplo prático – pivôs 3/3
- Defina
InpLeft=3eInpRight=3no início do script. - No
OnCalculate, percorra o buffer de preços dei=InpLeftatérates_total-InpRight-1. - Se
IsPivotHigh(i)for verdadeiro, crie uma seta verde acima da barra; seIsPivotLow(i), seta vermelha abaixo. - Teste em um gráfico de 1‑minuto de EUR/USD; observe que, durante sessões de alta volatilidade, alguns pivôs “falsos” aparecerão – ajuste
InpLeft/Rightou adicione um filtro de amplitude (ex.:MathAbs(High[i]-Low[i])>Point*50).
FAQ rápido
- Posso usar o mesmo indicador em múltiplos símbolos? Sim, basta marcar
#property indicator_chart_windowe evitar variáveis estáticas. - Como reduzir o lag? Substitua o loop completo por
ArraySetAsSeriese processe apenas o último candle (i=0). - É possível exportar os pivôs para CSV? Use
FileOpencomFILE_WRITE|FILE_CSVdentro do bloco de detecção.
Se quiser economizar tempo, o script pronto de pivôs automáticos já vem com parâmetros ajustáveis e documentação inline, ideal para quem precisa validar a ideia antes de escrever o código do zero.
Primeiros passos após a compra
1. Salve o arquivo PivotAuto.mq5 na pasta MetaTrader5\MQL5\Experts.
2. Abra o MetaEditor, compile e verifique se não há erros.
3. No terminal, arraste o Expert Advisor para o gráfico desejado e habilite AutoTrading.
Configuração inicial
O painel de parâmetros permite ajustes rápidos:
- PeriodoBase: 30, 60 ou 240 minutos – define a janela de cálculo.
- DesvioPontos: número de pontos para filtrar pivôs falsos.
- CorPivoAlto / CorPivoBaixo: escolha de cores para visualização.
Defina PeriodoBase conforme o timeframe do gráfico; valores fora da escala podem gerar atrasos.
Módulos prioritários e fluxo de execução
| Módulo | Função | Quando disparar |
|---|---|---|
OnInit() | Inicializa buffers, carrega parâmetros. | Ao anexar ao gráfico. |
CalculatePivot() | Identifica pivôs usando alta/bassa de PeriodoBase. | Ao fechar cada barra. |
PlotPivot() | Desenha setas e linhas de suporte/resistência. | Imediatamente após cálculo. |
OnDeinit() | Limpa objetos gráficos. | Ao remover o EA. |
Checklist operacional (para iniciantes)
- ✅ Compilação sem warnings.
- ✅ Parâmetro DesvioPontos >= 5 para mercados voláteis.
- ✅ Verificar se o símbolo tem historical data suficiente (mínimo 200 barras).
- ✅ Habilitar Allow live trading se pretende usar sinais de pivô como gatilho.
- ✅ Testar em Strategy Tester com modo Every tick antes de operar ao vivo.
Erros comuns e como evitá‑los
Erro 1 – Pivôs não aparecem: normalmente ocorre quando DesvioPontos está muito alto. Reduza para 2‑3 pontos e recompile.
Erro 2 – Sobreposição de objetos: o código usa ObjectDelete() apenas na inicialização. Adicione ObjectDelete() antes de criar novos objetos se mudar o timeframe.
Erro 3 – Lag no gráfico: ao usar timeframe 1 min com PeriodoBase 240, o cálculo exige muitas iterações. Opte por timeframe maior ou limite o número de pivôs armazenados (variável MAX_PIVOTS).
Fluxo de trabalho recomendado (timeline semanal)
Segunda‑feira: compile, teste em modo visual, ajuste DesvioPontos.
Quarta‑feira: rode back‑test 1‑mes com diferentes PeriodoBase.
Sexta‑feira: implemente no conta demo, monitore sinais e registre ocorrências de falsos pivôs.
Com esses passos, o indicador de pivôs automáticos entra em operação de forma robusta, permitindo que você foque na análise de preço ao invés de cálculos manuais.
Perfil ideal e limitações práticas
Quem vive de scalping ou day‑trade de alta frequência encontrará no indicador de pivôs automáticos a ferramenta que preenche a lacuna entre análise visual e execução algorítmica.
- Traders técnicos avançados que já dominam MQL5 e buscam reduzir o tempo gasto na identificação manual de suportes e resistências.
- Desenvolvedores de robôs que precisam de pontos de referência estáveis para disparar ordens de entrada/saída sem recalibrar a cada candle.
- Analistas quantitativos que integram múltiplos sinais e precisam de um dado de pivô consistente para combinar com volatilidade ou volume.
Quem não será bem‑servido por este recurso:
- Iniciantes que ainda não entendem a lógica dos pivôs e ainda dependem de sinais de indicadores mais simples.
- Operadores de swing com horizonte acima de semanas; o algoritmo foca em precisões intradiárias.
- Quem opera em contas micro‑lot com spreads extremamente elevados – o cálculo de pivôs pode gerar sinais falsos em ambientes de alta fricção.
Limitações contextuais
O script calcula pivôs somente a partir de dados de OHLC de períodos fechados. Em mercados com gaps relevantes (por exemplo, abertura de bolsa estrangeira) o indicador pode atrasar ou gerar pontos de ruptura que não refletem a realidade do pregão.
Além disso, a plotagem padrão usa objetos gráficos que consomem memória; em contas com dezenas de pares simultâneos o MetaTrader pode apresentar lentidão.
FAQ contextual
| Pergunta | Resposta |
|---|---|
| Posso usar em qualquer timeframe? | Sim, mas a eficácia cai abaixo de M1, onde o ruído domina. |
| O indicador funciona em testes históricos? | Funciona, porém requer ativar a opção “Use real timestamps” para evitar over‑fitting. |
| É possível desativar a plotagem em tempo real? | Sim, basta setar ShowGraphics = false no cabeçalho. |
Checklist de compatibilidade
- MetaTrader 5 v. 5.00 ou superior.
- Conta com spread < 1.5 pips nos principais pares.
- Conhecimento básico de objetos gráficos em MQL5.
- Recursos de CPU suficientes para renderizar pelo menos 5 símbolos simultâneos.
Parecer editorial equilibrado
Em linha geral, o código entrega o que promete: pivôs calculados de forma automática, com atualização a cada candle fechado e visualização limpa. Não é mágica – exige parametrização fina e monitoramento de performance.
Para traders que já manejam scripts personalizados, a adição deste indicador eleva a consistência das decisões e reduz o viés humano. Para novatos ou quem opera em ambientes de alta latência, a curva de aprendizado pode ser mais custosa que o ganho.
Próximos passos recomendados: teste em conta demo com risk = 1 % por trade, ajuste o número de candles usados no cálculo (padrão = 5) e avalie o impacto nos tempos de resposta.

