O Que Significa Divergência em Expert Advisors no MT5
Resposta direta
No MT5, “divergência” em Expert Advisors (EAs) significa que o comportamento ou os resultados do EA não correspondem mais ao que você esperava de testes anteriores ou de outra execução. Essa incompatibilidade pode aparecer como decisões de negociação diferentes, tempos diferentes, resultados de ordens diferentes ou o EA atingindo estados internos diferentes. “Divergência” não é um indicador único nem um aviso garantido; é uma descrição de discordância entre execuções ou entre suposições e o que realmente aconteceu.
Mecanismo e definição (como a divergência se forma)
Um EA é um programa que toma decisões com base em entradas e regras internas. Mesmo que dois EAs tenham o mesmo código, a divergência pode começar quando o ambiente que alimenta o código não é idêntico. Fontes comuns incluem:
- Entradas de mercado diferentes: O EA pode calcular valores a partir de séries de preços, como abertura, máxima, mínima, fechamento ou tempo de tick. Se os dados capturados diferirem, o EA pode calcular sinais diferentes.
- Detalhes de execução diferentes: A colocação de ordens depende de como as ordens são processadas. Pequenas diferenças em preenchimentos, tempo ou custos podem alterar posições, que então alteram decisões subsequentes.
- Estado interno diferente: Muitos EAs rastreiam variáveis como posições existentes, colocação de stop/limite ou sinalizadores de “esta condição já foi atendida?”. Uma vez que o estado difere em qualquer ponto, o comportamento posterior pode divergir ainda mais.
- Suposições diferentes em teste vs. operação ao vivo: Backtesting e operação ao vivo podem não usar o mesmo modelo para tempo, spreads, slippage ou como os eventos são sequenciados.
Um modelo mental útil é este: a divergência é frequentemente uma reação em cadeia. Uma pequena diferença nas entradas ou na execução pode empurrar o EA para um novo estado, e então a lógica restante se aplica a esse novo estado, produzindo diferenças maiores depois.
Evidência ou exemplo (o que procurar)
Suponha que você execute o mesmo EA duas vezes em um período de tempo semelhante:
- Na execução A, uma condição se torna verdadeira em um determinado momento, e o EA abre uma posição.
- Na execução B, a condição se torna verdadeira mais tarde, ou nunca, porque as entradas calculadas diferem (por exemplo, o histórico de preços usado pelo EA não é idêntico).
A partir desse ponto, as ações subsequentes do EA podem diferir porque o conjunto de posições abertas, os cálculos de risco e a lógica de gerenciamento de ordens agora são diferentes.
Outro padrão é o desvio de confirmação de regras: um EA pode parecer “seguir suas regras” em backtests, mas quando você o executa novamente com entradas ligeiramente diferentes (limites de candles diferentes, captura de ticks diferente, tempo de execução diferente), a mesma regra pode não ser acionada. Se você então selecionar seletivamente as partes que ainda correspondem, o alinhamento percebido pode aumentar, mesmo que a incompatibilidade subjacente permaneça.
Limitações e riscos (o que a divergência não lhe diz)
A divergência é informativa, mas não significa automaticamente que o EA está “errado” ou que falhará. As principais limitações incluem:
- Sem garantia de direção: A divergência pode ocorrer tanto quando os resultados melhoram quanto quando pioram.
- Viés de retrospectiva: Após observar os resultados, as pessoas tendem a se concentrar na explicação que se ajusta ao resultado. Por exemplo, podem atribuir uma correspondência à “lógica correta”, ignorando como pequenas diferenças de entrada também poderiam explicar incompatibilidades.
- Condições variáveis de mercado e conta: Os EAs dependem de spreads, comissões, tempo de execução e estado da conta. Mesmo que você controle o código, esses fatores ainda podem diferir.
- Metodologia de teste diferente: Um backtest pode usar suposições simplificadoras. Se essas suposições não corresponderem à sequência real de eventos, a divergência entre o comportamento no teste e o comportamento real pode ser esperada.
Modos de falha materiais geralmente envolvem incompatibilidades de estado (o EA acredita que está gerenciando uma posição que não está realmente presente) e sensibilidade à ordem de eventos (lógica que depende do tempo exato das atualizações). Ambos podem produzir divergência que cresce ao longo do tempo.
Verificação e próxima pergunta (como verificar de forma independente)
Para verificar o que “divergência” significa no seu caso específico, concentre-se em controlar variáveis em vez de julgar resultados depois do fato:
- Compare as entradas usadas pelo EA entre as execuções (mesmo símbolo, mesmo período de tempo, mesma fonte de dados históricos, mesmo tempo de sessão).
- Verifique diferenças de ambiente que afetam a sequência de eventos (feed de dados, frequência de ticks, diferenças no processamento de ordens).
- Inspecione mudanças de estado interno no primeiro ponto em que as execuções deixam de corresponder (por exemplo, quando uma condição foi acionada de forma diferente pela primeira vez).
- Execute novamente com uma mudança de cada vez para que você possa atribuir a divergência a um fator específico.