Quando um Expert Advisor não opera, faça o diagnóstico em camadas: instalação, permissões, condições da estratégia e, por fim, a resposta exata da corretora. Alterar parâmetros aleatoriamente pode ocultar a causa real e criar um novo risco.
Primeiras verificações quando um EA MT4 não funciona
- Confirme se o EA aparece em Navegador → Expert Advisors e está anexado ao gráfico correto.
- Confirme se o AutoTrading global e a permissão Permitir negociação em tempo real do EA estão habilitados.
- Verifique conta, sufixo do símbolo, timeframe, Magic Number, horário de mercado e parâmetros.
- Abra Terminal → Experts e Diário; registre a mensagem completa e o código numérico.
- Altere uma possível causa por vez e depois verifique novamente o log.
Erro → significado → causa → solução
| Erro | O que significa e por que acontece | Como corrigir |
|---|---|---|
| EA ausente no Navegador | O arquivo está no terminal ou na pasta errada | Abra a Pasta de Dados nessa instância do MT4; mova o arquivo .ex4 para MQL4/Experts e atualize o Navegador. |
| AutoTrading desabilitado | A permissão global ou a permissão do EA está desativada | Ative o botão na barra de ferramentas e Permitir negociação em tempo real nas propriedades do EA. |
| Conta ou licença inválida | O login, o tipo de conta ou a licença vinculada não correspondem | Confirme o servidor da corretora e as regras da licença; contate o fornecedor — não tente contornar o licenciamento. |
| DLL não permitida | O EA tentou acessar uma biblioteca externa sem permissão | Habilite somente uma DLL obrigatória e confiável; a hospedagem virtual do MetaTrader não executa DLLs. |
| Negociação desabilitada · 133 | O servidor rejeita a negociação para a conta ou o símbolo. | Verifique com a corretora as permissões do símbolo e restrições da conta. Diagnostique separadamente as permissões do terminal. |
| Mercado fechado · 132 | O instrumento solicitado está fora do horário de negociação | Aguarde a sessão da corretora; verifique feriados e o horário do símbolo. |
| Margem insuficiente · 134 | A margem livre não suporta a posição solicitada | Reduza o risco ou o volume; verifique alavancagem, margem e exposição existente. |
| Stops inválidos · 130 | SL, TP ou preço de ordem pendente viola as regras aplicáveis de preço ou distância. | Confira Bid/Ask atual, direção, precisão do preço e Stops Level. Recalcule o tamanho se a distância do stop mudar. |
| Volume inválido · 131 | O lote está abaixo do mínimo, acima do máximo ou fora do incremento permitido | Use lote mínimo, máximo e step definidos pela corretora e normalize o volume solicitado. |
| Contexto de trading ocupado · 146 | Outra operação de trading ainda está sendo processada | Envie as solicitações em sequência, aguarde brevemente e tente novamente com um limite definido — não use um loop contínuo. |
| Off quotes · 136 / requote · 138 | Não há cotação executável ou o preço mudou | Verifique conexão e spread; atualize o preço e use uma lógica sensata de slippage. |
| Problema de conexão · 6 | O terminal perdeu a conexão com a corretora | Confirme servidor, internet, login, firewall e status do VPS; evite enviar ordens repetidas até a conexão ser restabelecida. |
O EA carrega corretamente, mas não abre operações
Isso não é necessariamente um erro. Muitos EAs aguardam uma nova vela, uma sessão específica, condições de spread máximo ou o alinhamento de vários indicadores. Confirme o símbolo e o timeframe documentados e procure mensagens no log, como filtro de spread, janela de trading, máximo de ordens ou filtro de notícias. Não relaxe todos os filtros apenas para forçar uma entrada.
“Nenhum setup encontrado” é um comportamento da estratégia. O erro 133 ou uma permissão desativada representa um bloqueio de execução. A solução é diferente.
Conta inválida e licença inválida
EAs comerciais podem vincular uma chave ao número da conta, à corretora, à plataforma ou a um número máximo de ativações. Confirme se a conta informada é a registrada com o fornecedor e se o servidor de licenças está acessível. Nunca baixe arquivos modificados nem desative controles de segurança; solicite ao fornecedor uma redefinição ou ativação legítima.
DLL não permitida
Alguns EAs usam bibliotecas externas para licenciamento ou funções adicionais. Habilite importações de DLL somente quando o arquivo vier de uma fonte confiável e o manual oficial exigir. A hospedagem virtual integrada do MetaTrader rejeita DLLs; portanto, migre esse EA apenas para um VPS convencional compatível e aprovado pelo fornecedor.
Erros de stops, volume, margem e execução
Erro 130 — Stops inválidos
O preço de Stop Loss, Take Profit ou da ordem pendente pode estar próximo demais do mercado, no lado incorreto ou sem a normalização correta dos dígitos. Consulte a especificação do símbolo e calcule conforme os dígitos do instrumento; não tente resolver removendo a proteção.
Erro 131 — Volume de operação inválido
Normalize os lotes conforme mínimo, máximo e step da corretora. Um lote calculado de 0,013 é inválido quando o incremento é 0,01, a menos que seja arredondado corretamente; arredondar para cima pode ultrapassar o risco planejado.
Erros 136 e 138 — Off quotes e requotes
Esses erros geralmente refletem preços indisponíveis ou alterados. Verifique conexão e spread, atualize a cotação e use uma lógica de novas tentativas com limite. Envios imediatos repetidos podem agravar o problema.
Erro 146 — Contexto de trading ocupado
O MT4 processa uma operação de trading por vez. Dois gráficos ou rotinas podem entrar em conflito. O EA deve aguardar a operação anterior, verificar novamente o mercado e interromper as tentativas após um limite controlado.
Problemas de sincronização do VPS e instâncias duplicadas
Após uma migração para a hospedagem virtual do MetaTrader, alterações de configuração não são migradas automaticamente. Sincronize novamente depois de alterar gráficos ou parâmetros. Em um VPS Windows, confirme se o terminal está aberto, conectado e configurado para iniciar após a reinicialização. Em ambos os casos, evite operar simultaneamente a mesma combinação de conta, EA e Magic Number nos terminais local e remoto.
O que enviar ao suporte
Remova senhas, chaves de licença e informações pessoais antes de compartilhar capturas de tela ou logs.
Separe restrições do servidor e permissões do terminal
O erro 4109 significa que o programa não tem permissão para negociar: confira Allow live trading no EA e AutoTrading global. O erro 4112 indica que o servidor desabilitou a negociação automatizada. O erro 133 envolve uma restrição de negociação do servidor. São verificações diferentes; o botão local não remove uma restrição da corretora.
O erro 65 é uma resposta de conta inválida do servidor de negociação. Já a mensagem “invalid license” do fornecedor pode vir de sua própria vinculação à conta, assinatura ou serviço de ativação. Registre a mensagem exata e sua origem antes de escolher quem contatar.
Trate resultados incertos e regras dinâmicas de stops
Após um timeout de negociação 128, o resultado da solicitação pode ser desconhecido. Confira ordens abertas, pendentes e histórico recente antes de tentar novamente. Use os dados de ticket disponíveis e depois compare símbolo, Magic Number, direção, volume e horário. Repetir imediatamente pode criar outra ordem se a primeira solicitação tiver sido bem-sucedida.
Um Stops Level de 0 pode significar ausência de mínimo fixo ou uma regra dinâmica do servidor; não garante aceitação de qualquer stop. Freeze Level restringe alterações, cancelamentos ou fechamentos perto do mercado. Confira-o separadamente. Não afaste um stop apenas para eliminar o erro 130 sem verificar o novo risco monetário.
Os códigos de erro MQL4 e as propriedades dos símbolos definem essas diferenças.
Referência oficial de erros
As descrições dos códigos numéricos se baseiam na referência oficial de códigos de erro do MQL4. A implementação da corretora e as mensagens específicas do EA podem acrescentar outras condições.