Solucionar problemas do EA

Se você não sabe como executar um EA no seu computador ou nunca executou um EA antes, sugerimos começar pelo início: Ajuda - Sou iniciante. Abaixo você encontrará soluções para os problemas do seu EA selecionando o cenário que melhor se encaixa na sua situação:

Não estou recebendo ordens.

A primeira coisa que você deve fazer é verificar se há erros. Se você estava executando um backtest, abra a aba 'Journal' no painel do Strategy Tester. Se você estiver rodando em uma conta Demo, verifique tanto a aba 'Journal' quanto a aba 'Experts' no painel do Toolbox. Se os painéis não estiverem visíveis e você não souber como abri-los, vá em 'View' e selecione 'Toolbox' (Demo/ Live) ou 'Strategy Tester' (Backtesting). Recomendamos fortemente fazer o EA funcionar primeiro por meio de um backtest, pois isso simplifica os testes e a resolução do problema. Além disso, é mais rápido.

Errors visible on the Experts tab
Example of errors visible on the 'Journal' tab when backtesting the EA

Se você estiver vendo um erro ao rolar pela(s) aba(s), mas não souber o que o erro significa, prossiga para a parte desta página de solução de problemas que diz 'Estou recebendo um erro'.

Se você não estiver vendo nenhum erro ao rolar pelas abas, provavelmente o EA não foi configurado corretamente. Recomendamos fortemente criar um EA de exemplo simples, escolhendo um dos nossos modelos ou pedindo ao nosso agente de IA. Quando você tiver verificado que o EA funciona, adicione apenas 1 módulo ou condição (Open Buy/ Open Sell) por vez. Após cada etapa de adição de algo novo ao seu EA, teste-o novamente. Quando você parar de receber ordens, saberá onde cometeu um erro. Se precisar de ajuda para configurar seu EA, Assine e Entre em contato conosco. Se quiser primeiro confirmar que o problema está na configuração, você sempre pode Entrar em contato conosco primeiro para verificar.

Como você recebe ordens no backtest, a configuração do EA provavelmente está correta, mas algo está impedindo o EA de operar em uma conta Demo e, portanto, também em uma conta Live. Primeiro, certifique-se de ter esperado tempo suficiente para ter certeza de que o EA não está operando e que suas condições foram atendidas. Se você estiver vendo um erro, obviamente não precisa esperar.

A próxima coisa a fazer é verificar se há erros. Verifique tanto a aba 'Journal' quanto a aba 'Experts' no painel do Toolbox. Se os painéis não estiverem visíveis e você não souber como abri-los, vá em 'View' e selecione 'Toolbox'.

Errors visible on the Experts tab
Example of errors visible on the 'Experts' tab when running the EA on a Demo account

Se você estiver vendo um erro ao rolar pelas abas, mas não souber o que o erro significa, prossiga para a parte desta página de solução de problemas que diz 'Estou recebendo um erro'.

Se você não estiver vendo nenhum erro ao rolar pelas abas, mas estiver recebendo ordens durante o backtesting, certifique-se de estar operando no mesmo Symbol e Timeframe que estava usando no backtest. É possível que as condições da ordem tenham sido atendidas no símbolo durante o backtesting, mas as características do símbolo em que você está operando na Demo sejam diferentes. Recomendamos fortemente fazer backtest do seu símbolo primeiro.

Se precisar de ajuda adicional, Entre em contato conosco e descreva o problema com o máximo de detalhes possível.

Estou recebendo ordens, mas

É fundamental que você observe as linhas de SL/TP no gráfico, representadas por linhas horizontais verdes e vermelhas. Se você não conseguir ver essas linhas no gráfico, consulte a seção intitulada Não estou vendo Stop Loss e Take Profit no gráfico.

No entanto, é correto que você não encontrará o stop loss (SL) ou o take profit (TP) exibidos na aba Trade do painel Toolbox, pois o EA é responsável por gerenciá-los. Essa decisão é tomada para impedir que o broker acesse suas informações de negociação para outros fins. Além disso, os brokers frequentemente não oferecem suporte para trailing ou modificação frequente de ordens, o que é crucial para estratégias de trailing. Portanto, a única opção viável é fazer o trailing do SL/TP internamente na memória do EA, garantindo precisão de até 0,1 pip.

Se você não estiver encontrando o stop loss (SL) ou o take profit (TP) exibidos no gráfico, considere o seguinte:

  1. Você está recebendo algum erro ao anexar o EA ao gráfico? Se sim, vá para 'Estou recebendo um erro' e selecione o erro que está vendo.

Errors visible on the Experts tab
Example of errors visible on the 'Experts' tab when running the EA on a Demo account

  1. A ordem foi aberta pelo EA ou foi colocada manualmente? Se você espera que o EA gerencie operações abertas manualmente, certifique-se de que o 'Magic Number' do EA esteja definido como '0' na janela de propriedades do Expert Advisor (aba Input) no MetaTrader. Dessa forma, o EA continuará gerenciando suas ordens abertas manualmente, incluindo a definição do SL/ TP se foi configurado para isso.

ea magic number property
Magic number of an EA. You can change the value to 0 for manual orders.

  1. Pode ser que o EA tenha sido desativado após a abertura da ordem? Verifique o canto superior direito do gráfico: o EA está representado como ativo (rosto feliz) ou inativo (rosto triste)? No MetaTrader 5, um EA ativo é indicado por um chapéu azul (no MT4, um rosto feliz), enquanto um inativo é indicado por um chapéu cinza (no MT4, um rosto triste). Somente um EA ativo gerenciará SL/TP. Para evitar que seu EA seja desativado automaticamente, consulte as instruções em 'Run your EA in a backtest' em Tutorial - Run first EA e desmarque as caixas de seleção 'Disable'.

ea magic number property
EA is running and not disabled.

  1. As linhas de SL/TP podem estar posicionadas além da área visível do gráfico. Reduza o zoom e verifique se as linhas de SL/TP deveriam estar dentro do intervalo visível.
  2. Certifique-se de que, após carregar o EA no gráfico, você veja uma mensagem na aba 'Expert' semelhante a: "Pip (forex)/ Point (indices): 0.00010" para EURUSD. Se você estiver operando um símbolo diferente, confirme que o valor exibido corresponde ao valor de 1 pip/ponto para o seu símbolo. Caso contrário, ajuste manualmente o 'Manual pip point (0 = auto detection)' na aba Inputs das propriedades do seu EA para o valor correto.

ea pip point property
Pip/ point calculated automatically. Can be set to preferred value manually..

A razão mais provável para o SL/ TP não aparecer onde você deseja é que você está operando um símbolo com um valor por pip diferente do esperado. Um exemplo seria que, ao operar EURUSD, o EA calcula automaticamente que um Pip equivale a um valor de 0,00010.

Como você sabe qual é o valor de um pip? Quando você anexa o EA a um gráfico e olha para a aba 'Expert', você verá esta linha: Pip (forex)/ Point (indices): 0,00010. Isso informará o valor de um pip: 0,00010. Se isso não for o esperado, abra as propriedades do EA e defina a seguinte propriedade: Manual pip point (0 = auto detection) para o valor que você espera que seja 1 pip.

É possível que, se você estiver operando US 30, prefira que seu valor de pip/ponto seja $1. Ajuste a configuração mencionada para 1 adequadamente.

ea pip point property
Pip/ point calculated automatically. Can be set to preferred value manually.

O motivo mais comum é que seu sinal de abertura ainda está ativo. O EA não fechará a ordem se o sinal de abertura ainda estiver ativo, porque se fechasse a ordem, o sinal de abertura abriria imediatamente uma nova ordem na mesma direção. Existem algumas formas de garantir que seu sinal de abertura fique ativo por apenas um curto período de tempo:

  • O mais comum é usar um crossover em seu sinal de abertura. Isso funciona especialmente bem quando o EA tem um timeframe baixo ou o SL/ TP são grandes. Ao usar um crossover, o valor do indicador não é apenas verificado para ser maior que outro valor, mas estará ativo somente enquanto o valor anterior ainda for menor.
  • Como um crossover fica ativo pelo período do timeframe do indicador usado no crossover, você pode usar alternativamente o módulo Time gap between orders. Certifique-se de habilitar 'Apply after closed order'.

Por padrão, um Indicator funciona no timeframe do chart ao qual o seu EA está anexado. Então, quando você muda o timeframe do chart, os seus Indicators são recalculados no novo timeframe, assim como os sinais Buy e Sell que dependem deles. Isso pode fazer com que o seu EA feche (ou abra) ordens simplesmente porque você mudou o timeframe do chart.

Para evitar isso, defina um timeframe fixo para cada Indicator, de modo que o chart não influencie mais o seu EA. Consulte Adicionar um Indicator ao seu EA para saber como definir um Timeframe fixo.

Estou recebendo um erro ao executar o EA

Como a mensagem sugere, você precisa procurar um erro nos seus painéis. Se você estava executando um backtest, abra a aba 'Journal' no painel do Strategy Tester. Se você estiver rodando em uma conta Demo, verifique tanto a aba 'Journal' quanto a aba 'Experts' no painel do Toolbox. Recomendamos fortemente fazer o EA funcionar por meio de um backtest primeiro, pois isso simplifica os testes e a resolução do problema.

Errors visible on the Experts tab
Example of errors visible on the 'Journal' tab when backtesting the EA

Agora procure qualquer outro erro além do erro que você já viu ("Open (all) order(s) failed. Please check EA [Number] and look at the Journal and Expert tab."). Quando encontrado, vá para o erro que corresponde a essa descrição nesta página.

Se o erro que você está vendo não corresponder a nenhum erro nesta página, Entre em contato conosco e nos diga qual erro está vendo.

Seu EA não consegue encontrar seu indicador. Seu indicador deve estar na pasta 'Indicators' do MetaTrader e NÃO em qualquer subpasta. Portanto, 'Indicators\Examples', 'Indicators\Market' ou similares não funcionarão. Para abrir a pasta 'Indicators' no MetaTrader, vá em 'File' e depois 'Open Data Folder' (CTRL + Shift + D). Em seguida, no Explorador de Arquivos, clique em 'MQL4' e depois em 'Indicators'.

Se isso não resolveu este erro específico, verifique se o arquivo 'ex4' está na pasta 'Indicators' e não apenas o arquivo 'mq4'. Se o arquivo 'ex4' estiver faltando, abra seu arquivo 'mq4' no MetaEditor e clique no botão 'Compile'.

Seu EA não consegue encontrar seu indicador. Seu indicador deve estar na pasta 'Indicators' do MetaTrader e NÃO em qualquer subpasta. Para abrir a pasta 'Indicators' no MetaTrader, vá em 'File' e depois 'Open Data Folder' (CTRL + Shift + D). Em seguida, no Explorador de Arquivos, clique em 'MQL5' e depois em 'Indicators'.

Se isso não resolveu este erro específico, verifique se o arquivo 'ex5' está na pasta 'Indicators' e não apenas o arquivo 'mq5'. Se o arquivo 'ex5' estiver faltando, abra seu arquivo 'mq5' no MetaEditor e clique no botão 'Compile'.

Seu EA não consegue encontrar seu indicador. Seu indicador deve estar na pasta 'Indicators' do MetaTrader e NÃO em qualquer subpasta. Para abrir a pasta 'Indicators' no MetaTrader, vá em 'File' e depois 'Open Data Folder' (CTRL + Shift + D). Em seguida, no Explorador de Arquivos, clique em 'MQL5' e depois em 'Indicators'.

Se isso não resolveu este erro específico, verifique se o arquivo 'ex5' está na pasta 'Indicators' e não apenas o arquivo 'mq5'. Se o arquivo 'ex5' estiver faltando, abra seu arquivo 'mq5' no MetaEditor e clique no botão 'Compile'.

Seu EA está usando uma opção de money manager percentual para calcular o Lot Size, o que exige que o EA calcule a margem necessária para abrir uma posição para o seu símbolo. No entanto, devido à configuração incorreta do símbolo pelo broker, a margem necessária não pode ser calculada.

Tente usar um Lot Size fixo, usando um dos seguintes money managers para este símbolo:

  • Fixed lot size
  • Manual Sequence (certifique-se de não usar uma opção percentual)
  • Marginale (certifique-se de não usar uma opção percentual)

Seu EA está usando um indicador que por sua vez carrega DLL's para funcionar. Se você tiver certeza de que deseja executar este EA e confiar no editor do EA, role até as instruções em 'Run your EA in a backtest' em Tutorial - Run your first EA e habilite 'Allow DLL imports'.

Provavelmente a configuração do seu MetaTrader ainda não está definida corretamente para permitir que os EAs operem automaticamente. Role até as instruções em 'Run your EA in a backtest' em Tutorial - Run your first EA e habilite 'Allow automated trading'.

Você está tentando abrir uma ordem com um volume (Lot Size) menor ou maior do que o tamanho aceito pelo broker. Isso pode acontecer, por exemplo, quando o broker não aceita nano lots (0,0001 lote) ao tentar usar esse volume.

Seus sinais de Open Buy e Open Sell estão sendo atendidos exatamente ao mesmo tempo, mas você não permitiu que seu EA faça hedge.

Para resolver isso, corrija os sinais para que Open Buy e Open Sell não sejam atendidos ao mesmo tempo, ou, se isso foi intencional, habilite o Hedging no seu módulo Open order para permitir que seu EA abra uma ordem de compra e venda ao mesmo tempo.

Error enable hedging
Enable hedging on your Open order module

Siga todos os passos de Get EA ready to run.

Se isso não ajudar, existem mais alguns motivos pelos quais você pode estar recebendo este erro:

  • Você está em um funded challenge e seu broker não permite o uso de bots de negociação para o desafio (verifique com seu broker).
  • O broker não oferece negociação do seu símbolo para o tipo de conta, mesmo quando o símbolo está visível no Market Watch. Entre em contato com seu broker.
  • Seu broker não está mais oferecendo (por exemplo) GBPUSD ou está encerrando serviços.

Entre em contato conosco e nos diga qual erro você está recebendo. Diremos como resolver o erro e adicionaremos o erro a esta página.

Estou recebendo um erro ao fazer upload do EA para o MT5 Marketplace

Ao fazer upload do seu EA para o marketplace do MT5, seu EA será testado para verificar a conformidade com as regras. Isso inclui um teste que verifica se o EA não permite que as ordens acumulem perdas excessivas. O que você precisará fazer é garantir que seu EA feche as ordens antes que a perda máxima seja atingida, ou seu EA será encerrado por stop out. Portanto, você pode adicionar um módulo de stop loss, além de qualquer módulo de stop loss que já possua. Exemplo: supondo que o stop loss máximo permitido seja 5%, defina seu stop loss para 4,5%. Consulte o MT5 para verificar as regras e limites.