POM Education Series #1: A ilusão de um EA perfeito

POM Education Series #1: A ilusão de um EA perfeito

1 novembro 2026, 19:22
Nauris Zukas
0
6
POM Education Series #1

Imperial Dominator

Leia este artigo noutra língua:
English | Русский | 中文 | Español | 日本語 | Deutsch | 한국어 | Français | Italiano | Türkçe | العربية | Bahasa Indonesia | ไทย

A nossa comunidade: Participe no canal MQL5 em português

Imperial Dominator é um EA educativo criado deliberadamente para reproduzir as técnicas de negociação utilizadas por um Expert Advisor amplamente promovido no MQL5 Market. O objetivo é revelar como resultados impressionantes podem esconder riscos graves.

Quer saber qual EA entre os mais bem classificados do MQL5 Market utiliza estas técnicas? Envie-me uma mensagem privada.

Pode verificar tudo o que é descrito neste artigo no Strategy Tester, utilizando a versão demo do EA no Market.

Imperial Dominator equity curve

Este gráfico foi produzido pelo mesmo Expert Advisor de que trata este artigo.

Os drawdowns são mínimos. A curva sobe de forma uniforme.

É exatamente o tipo de gráfico que se mostra quando se quer vender alguma coisa.

Não foi o teste que produziu este resultado. Foi uma pessoa.

E neste artigo vou mostrar como isso é feito.

O Expert Advisor está disponível e pode repetir tudo por conta própria. EA Input Parameters Explained

Primeiro: afinal, o que é este EA?

Imperial Dominator é um Expert Advisor simples.

Uma vez por dia, às 11:00 (08:00 GMT), estabelece um intervalo de preços com base no máximo e no mínimo das últimas oito horas e coloca ordens Buy Stop e Sell Stop nos limites desse intervalo.

Cada sinal é dividido em sete ordens iguais, com Stop Loss e Take Profit fixos.

As posições abertas têm um Stop Loss móvel (trailing stop) e os lucros mais recentes são utilizados para fechar antecipadamente posições antigas com prejuízo.

É só isso.

Um código destes pode ser encomendado na secção MQL5 Freelance por algumas dezenas de dólares.

Na montra do Market, é o marketing — e não o código — que eleva o preço do EA de algumas dezenas para várias centenas de dólares.

Mas por que razão mostrar um EA assim?

Porque neste artigo não vamos olhar apenas para o resultado final.

Vamos pegar num único Expert Advisor e analisar, passo a passo, como é construído este resultado tão bonito.

Poderá executar o EA no MetaTrader 5 Strategy Tester, analisar operações individuais, alterar as configurações e verificar as minhas conclusões.

Não precisa de acreditar na minha palavra.

Verifique tudo por si próprio.

Primeira camada: a proporção

Primeiro, observe as configurações.

Take Profit and Stop Loss settings

O Take Profit é de 600 p, mas o Stop Loss é de 2600 p.

p = pontos de preço.

Portanto, a proporção apresentada nas configurações é de aproximadamente 1 para 4,3.

Noutro Expert Advisor, os números podem ser diferentes, mas uma proporção semelhante parecerá igualmente aceitável.

Mas isto é apenas a montra.

O sistema não fecha a maioria das operações no Take Profit de 600 pontos.

A proporção real vê-se nas operações.

Observe uma operação

Execute um teste visual e acompanhe uma operação do início ao fim.

One trade from open through trailing to close

A posição é aberta.

O Take Profit é de 600 p — exatamente como indicado nas configurações.

O preço avança a favor da posição.

O trailing stop desloca o Stop Loss e assegura cerca de 55 pontos de lucro.

O preço recua.

A posição fecha com cerca de 55 pontos de lucro.

O Take Profit de 600 p não foi atingido.

E na maioria das operações também não é atingido.

Portanto, nas configurações vemos:

600 p contra 2600 p.

Mas na operação real vemos:

cerca de 55 p contra 2600 p.

Isso corresponde a aproximadamente 1 para 47.

Para compensar uma perda de 2600 pontos com operações vencedoras de 55 pontos, são necessários cerca de 47 ganhos desse tamanho.

É precisamente daí que vem a elevada taxa de acerto.

Muitos ganhos pequenos.

Perdas grandes, mas raras.

É por isso que a curva de capital pode parecer tão suave.

O sistema não se tornou melhor só porque ganha frequentemente.

Simplesmente perde poucas vezes — e, quando perde, a perda é grande.

Esta proporção não aparece na janela de configurações.

Não é possível compreendê-la olhando apenas para os valores de Take Profit e Stop Loss.

Ela torna-se visível quando analisamos operações individuais.

Eu chamaria a um sistema destes Loss-Delayed EA, ou seja, um EA que adia as perdas.

Não é um EA que evita a perda. É um EA que a adia o máximo possível.

Verifique por si próprio: operações

Execute o Expert Advisor no modo visual e acompanhe dez operações consecutivas.

Observe onde está o Stop Loss após alguns minutos e com que resultado a posição realmente fecha.

Não olhe apenas para o que está escrito nas configurações.

Observe o que realmente acontece à operação.

Um EA não precisa de ser estável durante anos para vender bem.

Precisa apenas de um período em que pareça extraordinariamente bom.

Um Loss-Delayed EA pode produzir esse período pela sua própria conceção: a maioria das operações gera pequenos ganhos, enquanto a grande perda é adiada.

Assim, uma longa sequência de vitórias não é apenas um bom resultado.

Pode tornar-se numa janela de marketing.

São mantidas continuamente pequenas contas com lotes reduzidos, especificamente para sinais MQL5. Assim que surgem perdas, a conta é descartada e substituída por outra.

Mas, quando uma delas apresenta uma sequência mais longa sem perdas, começa uma campanha ativa de marketing.

Nesses períodos, o sinal é mantido ativo durante o máximo de tempo possível para vender o máximo possível. Quando as perdas se tornam demasiado grandes, o sinal é simplesmente eliminado para dar lugar ao seguinte, que já aguardava o seu momento de destaque.

Segunda camada: entrada dividida

Agora observe a mesma entrada no histórico.

Seven positions with the same open time and price

Lembra-se de que cada entrada é dividida em sete partes?

No histórico, aparecem sete linhas com a mesma hora e o mesmo preço.

É como comprar uma tarte e cortá-la em sete fatias.

Não passa a ter sete tartes.

Continua a ter apenas uma.

Mas no histórico de negociação parecem sete operações diferentes.

Verifique por si próprio: entrada dividida

No Strategy Tester, abra Results e observe a hora e o preço de abertura.

Se várias linhas coincidirem, podem representar uma única entrada dividida em várias posições.

Pode verificar o mesmo na secção Trading History da página de um sinal MQL5.

Trading History: split entry on a signal page

Por que razão isto importa

Porque estas sequências vencedoras ficam muito bem no marketing.

Se uma entrada gerar sete posições lucrativas, o histórico mostra sete vitórias.

Isso cria uma imagem muito mais impressionante do que uma única entrada com o lucro combinado.

Marketing screenshot of a winning streak

Another marketing screenshot of a winning streak

Já deve ter visto imagens como estas.

Linha após linha, tudo com lucro, publicadas pelos mesmos utilizadores. Mas como desmontar este cenário?

Peça provas dos volumes elevados — por exemplo, o histórico de uma conta real no serviço de sinais do Market ou noutros serviços de sinais fiáveis. Se não houver provas verificáveis, não acredite.

Quanto mais perguntas ficarem sem resposta, menos informação terá sobre a forma como o EA realmente negocia.

Uma captura de ecrã bonita só prova que alguém fez uma captura de ecrã bonita. Ainda não prova o desempenho do EA a longo prazo.

Mas, antes de avaliar um sistema por uma sequência destas, preste atenção:

Quantas entradas independentes houve realmente?

Sete posições numa única entrada não são sete vitórias independentes.

Por exemplo, pode não haver qualquer perda durante quarenta dias.

Parece impressionante.

Mas isso ainda diz muito pouco sobre o sistema.

Pode ser apenas um pequeno excerto de um histórico de negociação muito maior.

Por que razão a entrada é dividida?

Esta divisão também tem uma finalidade prática.

O Expert Advisor usa o lucro de uma operação mais recente para fechar posições antigas com prejuízo antes de atingirem o Stop Loss.

Eu poderia chamar a este mecanismo:

"sophisticated unique Neural AI technique"

Parece impressionante.

Na realidade, o princípio é simples.

Se a nova posição gerar lucro, esse lucro pode ser usado para reduzir a perda de uma posição antiga que esteja negativa.

Dependendo do período, este mecanismo tanto melhora como prejudica o resultado. Portanto, como parte da estratégia, não tem valor.

No modo de otimização do tester, é possível desligar o mecanismo introduzindo um coeficiente de 0 (Batch Coefficient).

Batch Coefficient setting

Compare os dois resultados.

Test comparison with Batch Coefficient at 0 and without it

A diferença prática é pequena.

No entanto, aos olhos de um principiante, algumas perdas continuam visíveis — e o EA parece mais credível do que uma curva sem qualquer drawdown.

Batch close trade example

E há ainda outro ponto importante sobre esta experiência.

No sinal Imperial Dominator, também utilizo o meu Recovery Booster.

Não se destina apenas a este tipo de EA: é uma ferramenta de recuperação independente que também pode ser utilizada com outras estratégias.

No caso do Imperial Dominator, usei-a deliberadamente para manter este sistema vivo durante mais tempo e testar até quando um mecanismo de recuperação baseado na análise do histórico o conseguiria sustentar.

Isso não altera a natureza do sistema nem elimina o risco. Pior ainda: esse mecanismo pode afetar seriamente o drawdown (DD) quando ocorrem várias perdas consecutivas (algo muito visível no meu sinal).

Terceira camada: o período

As primeiras duas camadas explicam por que razão a curva pode parecer suave.

Mas não explicam por que razão pode não apresentar nenhuma queda acentuada.

Veja como fica o mesmo teste quando também mostramos um período de perdas.

Backtest with one losing period

Este é apenas um período de perdas.

Agora vejamos o que acontece se o Expert Advisor não negociar nessa data.

Imperial Dominator possui um parâmetro chamado Skip Days.

Ele impede o Expert Advisor de abrir novas ordens nas datas especificadas.

Defina Skip Days = 241002.

Skip Days parameter setting

Introduza a data em que o Expert Advisor não deverá negociar.

Execute novamente o teste.

Backtest after excluding the losing day

A queda desapareceu. Em 2024.10.02, já não há posições abertas.

A taxa de acerto aumentou.

O drawdown máximo diminuiu, o lucro aumentou e a curva parece perfeita.

E o resumo do teste não dá qualquer indicação de que esse dia foi ignorado.

E agora veja até onde isto pode chegar

Até agora removemos apenas um período de perdas.

Agora faremos o mesmo com todos os períodos de perdas.

Usaremos um período de teste de 16 anos e um tamanho de lote dinâmico.

Absurd-looking backtest after all losing days are excluded

O resultado parece completamente absurdo.

Centenas de milhões de lucro.

E não é porque encontrámos uma estratégia de negociação fantástica.

Simplesmente deixámos o sistema negociar com lotes dinâmicos nos dias históricos cujos resultados nos agradam e removemos os dias cujos resultados não nos agradam.

Esta experiência mostra quanto se pode construir com dados históricos quando somos nós a escolher os dias em que o sistema estava autorizado a perder.

Construa-o por si próprio e observe!

Neste EA, os dias maus não estão escondidos no código — estão no campo Skip Days.

Mas o mesmo princípio também pode ser aplicado no código, onde o comprador não o consegue ver.

Depois de uma grande perda, pode surgir uma nova versão na página do Market e, na secção What’s new da atualização, aparecer, por exemplo:

"Improved performance"

ou

"Fixed minor issues".

O texto pode dizer qualquer coisa. O que altera o teste é a própria atualização, não as palavras escritas ao lado. Depois disso, o backtest desse EA volta a parecer perfeito.

Se a data da perda estiver codificada diretamente no Expert Advisor, não a pode ver nas configurações nem desativar.

No meu artigo anterior, mostro com mais pormenor como é tecnicamente fácil criar um backtest destes:

STOP! Backtests Lie. How to Make Any EA Look "Perfect" in 5 Seconds

https://www.mql5.com/en/blogs/post/769134

É por isso que o backtest apresentado nem sempre corresponde ao histórico completo do sistema.

Pode representar apenas o histórico dos dias em que o sistema teve autorização para negociar.

Verifique por si próprio: o dia ignorado

Encontre um dia de perdas no backtest do seu EA.

Execute o teste para todo o período.

Depois, exclua essa data e volte a executar o teste.

Compare os resultados.

Um único dia pode alterar substancialmente o aspeto de todo o backtest.

Mas não é possível fazer isto honestamente?

Um processo honesto — filtros, testes e verificações — leva tempo.

Mas, para este sistema, não vai ajudar.

Se houver muito poucas perdas, não conseguirá perceber o que tinham em comum a partir de um punhado de casos.

Um filtro criado a partir de poucos casos isolados pode ajustar-se ao acaso e não a um padrão verdadeiro.

Se um sistema teve apenas três perdas num ano e excluirmos esses três dias, não melhorámos o robô.

Simplesmente retirámos das estatísticas a parte de que não gostámos.

A próxima perda pode ocorrer num dia completamente diferente e por outro motivo.

A isto chama-se Rare-Event Overfitting — sobreajustamento a eventos raros.

Quanto mais precisamente o filtro remover as perdas passadas, mais frágil poderá tornar-se.

A probabilidade de não haver perdas futuras apenas por filtrar as perdas anteriores é praticamente nula.

Mais informações sobre a sobreotimização dos backtests e o seu efeito nos resultados fora do período de teste:

Bailey, D., Borwein, J., Lopez de Prado, M., & Zhu, Q. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.
SSRN — full text of the paper

Outra forma de prolongar a vida de um sinal real e adiar o inevitável

Pode simplesmente reduzir o número de dias em que o Expert Advisor pode negociar.

Por exemplo, restringir a negociação a um determinado dia da semana.

Adicionar um filtro de notícias.

Não permitir negociações a determinadas horas.

Cada um destes filtros pode parecer perfeitamente razoável por si só.

E também podem ser úteis.

Mas devem ser analisados também sob a perspetiva do marketing.

Quanto menos dias o Expert Advisor negociar, menos oportunidades terá de perder.

E quanto menos perdas restarem no teste, mais fácil será obter um período longo sem perdas.

Isto é especialmente importante num Loss-Delayed EA: quanto mais tempo for possível adiar a grande perda, mais impressionante parecerá a sequência de vitórias anterior.

Os filtros têm uma justificação lógica ou limitam apenas os dias de negociação para que o marketing possa continuar a falar durante mais tempo sobre a qualidade do sistema?

Por exemplo, se o sistema não negociar às sextas-feiras, negoceia apenas quatro dos cinco dias úteis.

Isso significa que a mesma sequência de vitórias, medida em dias de negociação, se prolonga no calendário em cerca de 25%.

A sequência não melhorou. Apenas decorre mais devagar.

Mas por que razão as curvas das páginas de sinais reais também parecem tantas vezes perfeitamente suaves?

Até aqui analisámos o que pode ser feito com o próprio Expert Advisor e o seu backtest.

Mas nos sinais MQL5 já vemos estatísticas de uma conta de negociação real.

Surge então uma pergunta lógica:

Se é uma conta real, por que razão a sua curva de capital também pode parecer quase perfeita?

Aqui a manipulação ocorre noutro nível — não no código do EA, mas na forma como as estatísticas da conta são apresentadas.

Vamos observar a mesma conta em duas vistas (Growth e Balance).

The same account in two statistics views

Consegue ver a diferença?

O resultado das negociações não mudou.

Na vista Growth, a curva parece subir suavemente, embora a conta tenha sofrido drawdowns no mesmo período.

Na vista Balance, vemos vários depósitos e levantamentos.

E isto já é uma forma de manipulação completamente diferente.

No próximo artigo da POM Education Series, vamos falar sobre como depósitos e levantamentos podem ser usados para criar uma imagem estatística muito mais bonita nos sinais MQL5.

Mas já sabe que uma curva bonita, por si só, não chega.

É preciso observar o que exatamente construiu essa curva.

O que sabe agora

Agora sabe:

  • como pequenos lucros e uma grande perda podem produzir uma taxa de acerto muito elevada;
  • como uma entrada dividida em várias posições pode parecer uma longa sequência de vitórias;
  • como excluir períodos maus torna um backtest mais bonito;
  • como reduzir os dias de negociação pode prolongar uma sequência de vitórias no calendário;
  • e por que razão uma curva bonita, por si só, não prova nada.

Da próxima vez que vir um resultado perfeito de um EA, não olhe apenas para a curva.

Pergunte a si próprio: será este um Loss-Delayed EA?

Veja o que está por trás dela.

Isto é apenas o começo

Este é o primeiro artigo educativo da POM Education Series.

Planeio continuar esta série e analisar outros métodos que podem criar uma impressão enganadora sobre a qualidade de um EA.

Se não quiser perder os próximos artigos, siga o canal Pulse of Market no MQL5.

Se achou este artigo útil, partilhe-o também com outras pessoas. Caso contrário, este tipo de informação fica sempre apenas com quem já a encontrou.

Canal Pulse of Market: https://www.mql5.com/en/channels/01a02c54cf2bdd01