Desenvolvimento de EA & Builder beginner 12 min de leitura

Como criar um EA de MACD no MT5 sem programar (e por que o melhor resultado dele foi o mais perigoso)

Como criar um EA de MACD no MT5 sem programar: monte um robô de cruzamento do MACD a partir de blocos no navegador, compile para um .ex5 de verdade e leia os números com honestidade. Inclui o resultado que mais deveria te preocupar — a própria busca de parâmetros do Builder achou um ajuste de MACD que marcou 1,14 fora da amostra e depois desabou para 0,74 na janela anterior a ela.

Publicado · Revisado

Você cria um Expert Advisor de MACD no MT5 sem programar colocando um nó Start, dois blocos de MACD — um lendo a linha principal, outro lendo a linha de sinal —, uma condição Cross entre eles e um bloco de ordem. O servidor gera e compila o MQL5 e te entrega um .ex5 de verdade. Quinze minutos, nenhuma sintaxe.

Depois vem a parte que decide se o arquivo vale alguma coisa. Esta receita tem um registro medido, e o número mais lisonjeiro dela é justamente aquele em que você menos deveria acreditar.

O que você vai montar

Um EA de posição única em um par, que compra quando a linha do MACD cruza acima da linha de sinal e vende quando ela cruza abaixo, com stop e alvo fixos, compilado para um .ex5 de verdade. Oito blocos.

Dois blocos dessa conta existem por um único motivo: o bloco indicador MACD devolve uma linha de cada vez.

Antes de começar: o que o MACD informa, e qual linha você está lendo

Você precisa de uma conta gratuita com endereço de e-mail verificado (projetar é gratuito e não exige login; compilar para .ex5 exige), cerca de quinze minutos, e um terminal MetaTrader 5.

O MACD subtrai uma média móvel lenta de uma rápida e depois tira de novo uma média dessa diferença. Então a linha principal mede o quanto duas médias se afastaram, e a linha de sinal é essa medição suavizada. Tudo o que uma regra de MACD consegue dizer é uma afirmação sobre a distância entre duas médias — o que significa que ele é uma ferramenta de tendência vestida de oscilador, e herda o atraso das duas médias que o construíram.

O bloco de MACD do Builder expõe estes ajustes:

Ajuste do blocoPadrãoO que ele controla
fast_ema12A média mais rápida. Faixa de 1 a 999
slow_ema26A mais lenta. A distância entre as duas é o sinal inteiro
signal_period9O quanto a diferença é suavizada antes de você compará-la
lineMODE_MAINQual linha este bloco emiteMODE_MAIN ou MODE_SIGNAL
applied_pricePRICE_CLOSEQual preço alimenta o cálculo
shift00 é a barra em formação; 1 é a última fechada
timeframegráfico atualQualquer um de M1 até MN1, lido independentemente do gráfico

line é a linha que muda o formato do seu fluxo. É um seletor de dois valores, então um bloco te dá uma linha. Um cruzamento da linha de sinal precisa, portanto, de dois blocos de MACD; um cruzamento da linha zero precisa de um, mais uma comparação contra uma constante.

Passo a passo: monte o EA de MACD no Builder

  1. Abra o EA Builder e carregue o modelo macd_signal da galeria, ou comece de uma tela em branco para montar a fiação você mesmo.
  2. Coloque um nó Start da paleta Utility. Sem ele, a validação interrompe a construção com EAB-E202.
  3. Adicione um bloco MACD e deixe line em MODE_MAIN. Deixe 12/26/9 como estão na primeira montagem, para que o seu resultado continue comparável à linha de base abaixo.
  4. Adicione um segundo bloco MACD com períodos idênticos e defina line como MODE_SIGNAL. Mesmo indicador, mesmos ajustes, saída diferente — este é o passo que as pessoas pulam, e pulá-lo é o motivo de o fluxo delas comparar uma linha com ela mesma.
  5. Ligue os dois em uma condição Cross. O Cross recebe duas entradas e pergunta se uma cruzou a outra nesta barra; o cross_type dele é crossover ou crossunder, então o lado da compra e o lado da venda são duas condições separadas, e não uma invertida.
  6. Ligue cada condição no seu próprio bloco Open Buy / Open Sell. Ligar um indicador direto em uma ordem é rejeitado com EAB-E205 — um valor bruto não é uma decisão.
  7. Defina o risco na aba Settings. Os padrões compartilhados são um stop de 50 pips, um alvo de 100 pips e um lote fixo de 0.01; um fluxo sem stop válido levanta um diagnóstico CRITICAL no preflight antes que ele construa.
  8. Pressione Measure e leia o resultado contra a barra que o painel imprime: fator de lucro de pelo menos 1,2, no mínimo 60 operações, drawdown não pior que 20%.
  9. Pressione Compile .ex5, mova o arquivo para MQL5/Experts por File > Open Data Folder, atualize o Navigator e teste-o no Strategy Tester antes que ele encoste em uma conta.
  • Nó Start
  • Bloco MACD, line = MODE_MAIN
  • Bloco MACD, line = MODE_SIGNAL
  • Cross — crossover para a compra, crossunder para a venda
  • Open Buy e Open Sell
  • Stop-loss e take-profit
  • Compilar para .ex5
Por que a receita da linha de sinal precisa de dois blocos de MACD e a da linha zero não precisa

Se em vez disso você quiser a versão da linha zero, apague o segundo bloco de MACD e troque o Cross pelo Compare, cujos operadores são > < >= <= == != e cujo offset tem 0 como padrão. “MACD principal acima de zero” é uma afirmação de que a média rápida está acima da lenta, e nada além disso — um evento muito mais raro e muito mais tardio do que as duas linhas se tocando. A paleta também traz o OsMA, que emite a diferença principal-menos-sinal diretamente como um único valor, então uma regra de histograma precisa de um bloco em vez de dois.

Ajustes de entrada, saída e parâmetros do MACD

AjusteValor do modeloO que mexer nele faz
fast_ema12Mais baixo reage antes e cruza muito mais vezes; a contagem de operações se mexe antes da taxa de acerto
slow_ema26Aumentá-lo alarga a distância que a linha rápida precisa percorrer, então os sinais chegam mais tarde e mais raros
signal_period9A suavização da linha de comparação. Mais curto significa mais cruzamentos, a maioria deles ruído
lineMODE_MAINNão é um botão de ajuste — ele decide qual regra você montou
shift0Defina 1 para decidir apenas em barras fechadas
Stop-loss50 pips (padrão compartilhado)A faixa buscada foi de 30 a 80
Take-profit100 pips (padrão compartilhado)A faixa buscada foi de 60 a 250

Sobre o atraso, que é a crítica honesta a este indicador. Todo valor aqui é a saída de duas médias empilhadas sobre uma terceira. Um cruzamento é, portanto, um relato de que um movimento já aconteceu — a única pergunta é o quão tarde. Encurtar o fast_ema compra antecipação e paga por ela em cruzamentos falsos; alongar o slow_ema compra confiabilidade e paga por ela em entradas que chegam depois do movimento. O próprio registro do modelo sugere onde ele foi parar: 698 operações em um ano, a segunda maior contagem dos treze modelos de tendência e momentum medidos sob condições idênticas. Isso é um projeto disparando o tempo todo, e disparar o tempo todo é o que um atraso curto custa.

O que a busca mexeu e o que ela não mexeu. A busca de parâmetros registrada mexeu apenas no stop e no alvo — SL30-80 × TP60-250, 12 combinações em três janelas no H1. Ela nunca variou fast_ema, slow_ema nem signal_period. Então nada nesta página sustenta a afirmação de que 12/26/9 esteja certo, errado ou seja melhorável. O que ela sustenta é uma afirmação bem mais estreita e bem mais útil: nenhuma combinação de stop e alvo resgatou o projeto.

Faça o backtest do EA de MACD

Este é o registro medido do próprio Builder, e não uma reexecução, e todo modelo da comparação compartilha o único bloco de condições abaixo. Como testamos descreve o padrão a que esses registros são submetidos.

Linha de base do macd_signalValor
Fator de lucro0,93
Operações698
Drawdown máximo-1,05%
Líquido-93,93
Posição na vizinhança por fator de lucro8º de 13
Posição na vizinhança por contagem de operações2º de 13
Passa na própria barra de aprovação do painel Measurenão
Condições do teste
ID do experimentoEXP-MACD-RECIPE-BASELINE-001
Experimento paiEXP-BUILDER-TEMPLATE-BASELINE-001
Símbolo / tempo gráficoUSDJPYm M5
Período2025-06-01 – 2026-06-09
ModeloM1 OHLC (Model=1)
Depósito10,000
AmbienteExness MT5
Linha de base medida2026-06-18
Última verificação2026-08-25
1,14Melhor fator de lucro fora da amostra que a busca registrada encontrou
0,74Quanto esse mesmo ajuste marcou na janela anterior a ela
8º de 13Onde o modelo de MACD fica entre os projetos de tendência e momentum medidos de forma idêntica

O resultado da busca merece mais do que uma linha. Oito modelos da galeria carregam uma busca de parâmetros registrada, e os oito terminaram em no_robust_edge. Mas eles falharam de duas formas diferentes, e a diferença importa mais do que o veredito comum. Dois deles nunca produziram ajuste vencedor algum, nem no período em que a busca foi ajustada. O macd_signal é o único que produziu um ajuste que passou de 1,0 fora da amostra — 1,14 a 1,15 no alvo mais largo — e que depois marcou 0,74 a 0,77 na janela anterior a ela. A palavra que o próprio manifesto usa para isso é regime-dependent, ou seja, dependente do regime.

Leia o que isso implica sobre teste. Se você tivesse dividido os seus dados uma vez, ajustado na primeira metade e conferido na segunda, este modelo teria te entregado um resultado aprovado. A única coisa que o pegou foi conferir um terceiro período que a busca nunca viu. Esse é o argumento a favor da análise walk-forward em um caso concreto, e ele vale mais do que qualquer aviso genérico sobre sobreajuste.

Onde o MACD fica entre os vizinhos, todos medidos sob o único bloco de condições acima:

ModeloBlocosFator de lucroDrawdownOperações
ma_perfect_order_trend101,07-0,36%305
mtf_osc_filter271,04-0,64%187
consecutive_bars_momentum71,03-0,36%377
ao_ama_trend140,97-0,95%239
adx_trend120,96-0,76%534
multi_tf_trend150,96-0,51%247
ma_crossover90,95-0,84%420
macd_signal80,93-1,05%698
ma_slope_trend70,92-1,00%478
mtf_adx_filter140,92-0,84%343
elder_ray90,90-1,34%529
pitch_trail_trend90,77-1,61%467
dynamic_sl_trend90,68-1,62%708

Divida esses treze na própria mediana de contagem de operações, 420, e as metades se separam com clareza. Os seis que operaram menos tiveram fator de lucro médio de 1,00 em 283 operações, com drawdown de -0,61%. Os seis que operaram mais tiveram média de 0,86 em 569 operações, com -1,23% — resultados piores e o dobro da profundidade. Os três projetos acima de 1,0 estão todos na metade mais quieta. O MACD está na mais agitada.

Isso é a descrição de treze projetos sob uma única configuração, e não uma lei: a lógica de entrada, a contagem de nós e as saídas também diferem, então a frequência não fica estabelecida como a causa. Mas é o padrão que está diante de você, e o modelo de MACD que vem pronto está do lado errado dele.

Erros comuns a evitar

Acreditar em uma aprovação fora da amostra. Este é o erro que este modelo existe para demonstrar. Um único período reservado é uma única amostra, e uma regra de momentum pode vencer uma única amostra porque o mercado teve tendência durante ela. Teste uma terceira janela que a busca nunca viu antes de acreditar em um número.

Comparar uma linha com ela mesma. Se os dois blocos de MACD ficarem em MODE_MAIN, a condição Cross compara valores idênticos e nunca dispara — ou dispara por arredondamento. Confira o ajuste line nos dois blocos antes de se perguntar por que a contagem de operações está zerada.

Ler um cruzamento como uma previsão. O MACD são duas médias de uma média. Um cruzamento informa que um movimento já está em curso há algumas barras. A escolha de projeto é o quanto de atraso você aceita, e não se você aceita algum.

Ajustar o stop e o alvo até a curva de capital ficar bonita. A busca registrada já fez isso de forma sistemática, em 12 combinações e três janelas, e reportou no_robust_edge. Se o seu ajuste manual superar uma busca sistemática, desconfie do ajuste.

Empilhar filtros de momentum. A composição acima é a versão medida desse instinto: 3,76 vezes o drawdown por um fator de lucro um pouco pior.

Rodá-lo ao lado de outro EA sem separar os dois. Cada EA em uma mesma conta precisa do próprio número mágico, ou as saídas de um EA fecham as posições do outro.

Próximos passos e variações

Quando não usar o MACD. Em um mercado lateral, duas médias se cruzam repetidamente e todo cruzamento é ruído — e um padrão que dispara rápido é exatamente o que um mercado lateral pune. Se você não consegue enunciar uma condição que desligue a regra durante períodos sem direção, ou adicione uma, ou use uma ideia que não dependa da separação entre as duas médias.

As variações que valem a tentativa, em ordem de evidência. Tente primeiro a versão da linha zero: ela é um bloco mais simples e dispara muito menos vezes, e a metade mais quieta da vizinhança é onde fica todo resultado acima de 1,0. Depois experimente a mesma regra em um timeframe mais alto dentro do bloco de MACD, o que desacelera o sinal sem tocar no gráfico. Só depois disso mexa nos períodos — e mude um de cada vez.

Depois teste direito. O painel Measure é de nível de barra e aproximado; ele é um filtro, não um veredito. Como fazer backtest no MT5 percorre uma execução real de ponta a ponta, inclusive em qual dos dois números de drawdown do relatório acreditar. Como criar um EA de RSI é a receita irmã, com o modo de falha oposto — a busca dela nunca venceu nada, o que a torna mais fácil de rejeitar e menos instrutiva do que esta. Como criar um EA MT5 sem programar cobre o vocabulário de blocos mais amplo, e os guias de backtesting aprofundam a etapa de walk-forward que esta página defende.

E para calibrar como é um registro documentado, cada um dos EAs publicados traz uma lista completa de operações fechadas e um manifesto de execução. Compare um deles com a tabela acima antes de confiar em qualquer estratégia, inclusive em uma que você mesmo montou.

Perguntas frequentes

Qual é a diferença entre o cruzamento da linha de sinal do MACD e o cruzamento da linha zero?
São perguntas diferentes e, no Builder, fiações diferentes. Um cruzamento da linha de sinal pergunta se a linha do MACD cruzou a própria média de 9 períodos, então ele precisa de dois blocos de MACD — um em MODE_MAIN, outro em MODE_SIGNAL — alimentando uma condição Cross. Um cruzamento da linha zero pergunta apenas se o momentum trocou de sinal, então ele precisa de um bloco de MACD em MODE_MAIN e um Compare contra 0. A versão da linha de sinal dispara muito mais vezes e mais cedo; a da linha zero dispara raramente e tarde. O modelo que vem pronto usa a forma da linha de sinal, e é o segundo projeto mais movimentado de toda a vizinhança dele.
Quais são os melhores ajustes de MACD para um EA?
Nada nesta página consegue te dizer, e vale falar isso com clareza. O bloco de MACD do Builder vem com 12/26/9 sobre o fechamento, e a busca de parâmetros registrada neste modelo mexeu apenas no stop e no alvo — SL30-80 por TP60-250, 12 combinações em 3 janelas. Ela nunca variou fast_ema, slow_ema nem signal_period, nenhuma vez sequer. Qualquer artigo que cite um melhor conjunto de períodos está citando uma preferência, e não uma medição. O que a busca de fato estabeleceu é que nenhuma combinação de stop e alvo tornou este projeto robusto.
A estratégia de cruzamento do MACD dá lucro?
Não do jeito que ela vem aqui. Medido em USDJPY M5 ao longo de um ano, o modelo macd_signal do Builder fecha com um fator de lucro de 0,93 em 698 operações — o segundo projeto mais movimentado dos treze modelos de tendência e momentum medidos sob condições idênticas, e o oitavo de treze por resultado. Mais útil do que isso: a busca registrada dele de fato encontrou um ajuste que chegou a 1,14 a 1,15 fora da amostra, e que depois caiu para 0,74 a 0,77 na janela anterior. Essa é a resposta honesta: resultados de aparência lucrativa existem, e eles não se sustentaram entre regimes diferentes.
Devo adicionar mais indicadores para filtrar o meu EA de MACD?
Verifique o que a combinação de fato fez antes de supor que ela ajuda. A galeria traz uma composição que contém exatamente este modelo — macd_signal mais uma regra de nível de CCI mais Elder Ray — e sob condições idênticas ela fechou com um fator de lucro de 0,91 contra 0,93 do MACD sozinho, com 3,76 vezes o drawdown em 2.016 operações. As três partes são leituras de momentum do mesmo preço, então elas tendem a concordar e a disparar juntas, em vez de diversificar. Um filtro ajuda quando ele discorda da sua entrada de vez em quando; três versões da mesma ideia não.