Erros comuns do MetaTrader: códigos do MT4 e do MT5, causas e correções no servidor
Uma referência prática dos códigos de erro do MT4 e dos códigos de retorno do servidor de negociação do MT5 que os clientes mais veem, divididos entre o que o trader pode corrigir e o que a corretora deve corrigir no servidor.
Erros comuns do MetaTrader: códigos de retorno do servidor MT4 e MT5, sem conexão, stops inválidos, off quotes e o que a corretora deve verificar no servidor.
Como o MetaTrader informa erros
O MetaTrader informa erros como códigos numerados com nomes fixos documentados pela MetaQuotes, e o número indica em que ponto da cadeia a solicitação falhou. O MT4 e o MT5 usam numerações diferentes, portanto o mesmo problema tem dois códigos distintos conforme a plataforma.
No MetaTrader 5, toda solicitação de negociação recebe uma resposta do servidor de negociação. A MetaQuotes descreve o mecanismo assim:
"All requests to execute trade operations are sent as a structure of a trade request MqlTradeRequest using function OrderSend(). The function execution result is placed to structure MqlTradeResult, whose retcode field contains the trade server return code."
(Tradução: "Todas as solicitações de execução de operações de negociação são enviadas como uma estrutura de solicitação de negociação MqlTradeRequest por meio da função OrderSend(). O resultado da execução da função é colocado na estrutura MqlTradeResult, cujo campo retcode contém o código de retorno do servidor de negociação.")— MQL5 Reference, Trade Server Return Codes, MetaQuotes (acessado em outubro de 2026)
Os códigos de retorno do servidor de negociação do MT5 vão de 10004 (TRADE_RETCODE_REQUOTE) a 10046 (TRADE_RETCODE_HEDGE_PROHIBITED). No MetaTrader 4, o mesmo tipo de informação vem de GetLastError(). Os códigos relacionados à negociação ficam na faixa baixa (0–150, por exemplo 130 ERR_INVALID_STOPS). Os erros de execução de programas começam em 4000 (por exemplo 4109 ERR_TRADE_NOT_ALLOWED).
Um código de sucesso não é o mesmo que uma ordem executada. A referência MQL5 de OrderSend() alerta que "um resultado bem-sucedido da função OrderSend() não significa que a ordem foi executada". Significa apenas que a solicitação foi aceita para processamento posterior. Quando um cliente diz "apareceu OK, mas nada aconteceu", verifique o journal do servidor.
Há três lugares onde procurar o código real:
- Aba Journal (eventos da plataforma: conexão, login, solicitações de ordens).
- Aba Experts (mensagens impressas por Expert Advisors e scripts, incluindo os resultados de
GetLastError()). - Arquivos de log em disco. A ajuda do MT5 da MetaQuotes afirma: "Os arquivos de log da plataforma são armazenados no diretório Logs, e os arquivos de log dos Experts são salvos em MQL5\Logs. Os nomes dos arquivos correspondem à data de geração do journal — YYYYMMDD.LOG."
O visualizador de logs integrado pode filtrar as entradas por "Full, No connection, Errors only".
Lado do cliente vs. lado do servidor: quem precisa corrigir
A pergunta de triagem mais rápida é se um único trader vê o erro ou se muitos o veem. Um cliente com um erro costuma ser um problema do lado do cliente. O mesmo erro em muitas contas, em um símbolo ou em um grupo quase sempre aponta para o servidor, a configuração do símbolo ou o lado da liquidez.
| Sintoma ou código | Normalmente do lado do cliente quando… | Normalmente do lado do servidor quando… |
|---|---|---|
| "No connection" / 6 ERR_NO_CONNECTION / 10031 TRADE_RETCODE_CONNECTION | Um usuário, internet local, firewall, proxy ou nome de servidor incorreto | Muitos usuários ao mesmo tempo, ponto de acesso fora do ar, IP ou DNS alterado, servidor reiniciado |
| "Invalid account" / 65 ERR_INVALID_ACCOUNT | Login, senha ou servidor selecionado incorretos | Conta transferida, desativada, arquivada ou criada em outro servidor |
| 130 ERR_INVALID_STOPS / 10016 TRADE_RETCODE_INVALID_STOPS | O EA coloca SL/TP muito perto do preço | Stops level ou freeze level alterado no símbolo, spread ampliado |
| 136 ERR_OFF_QUOTES / 10021 TRADE_RETCODE_PRICE_OFF | Raro, geralmente preços muito antigos em uma solicitação | Cotações interrompidas: problema no LP, no bridge ou no feed de dados, sessão do símbolo fechada |
| 133 ERR_TRADE_DISABLED / 10017 TRADE_RETCODE_TRADE_DISABLED | Uso da senha de investidor (somente leitura) | Negociação desativada para o símbolo, o grupo ou a conta |
| 10026 TRADE_RETCODE_SERVER_DISABLES_AT | Nunca; o próprio código aponta o servidor | Negociação por Expert Advisors desativada nas configurações do grupo ou da conta |
| 10027 TRADE_RETCODE_CLIENT_DISABLES_AT / 4109 | Botão Algo Trading ou "Allow live trading" desativado | Não é do lado do servidor |
| 134 ERR_NOT_ENOUGH_MONEY / 10019 TRADE_RETCODE_NO_MONEY | Lote grande demais para a margem livre | Alavancagem, configurações de margem ou taxas de câmbio do grupo incorretas |
| 132 ERR_MARKET_CLOSED / 10018 TRADE_RETCODE_MARKET_CLOSED | Negociação fora do horário da sessão | Horário das sessões, mudança de horário de verão ou calendário de feriados configurados incorretamente |
Encaminhe os chamados da mesma forma: problemas do lado do cliente recebem uma resposta da central de ajuda, e problemas do lado do servidor vão para o administrador da plataforma ou para uma equipe terceirizada como o suporte MetaTrader da FXSUPPORT.
Erros de conexão: "No connection" e "Invalid account"
"No connection" significa que o terminal não consegue alcançar o endereço do servidor de negociação que lhe foi informado, e "Invalid account" significa que ele alcançou um servidor que rejeitou o login. Cada um exige verificações diferentes, e a corretora consegue ver coisas que o trader não vê.
O que o trader pode verificar
- Confirme que a conexão com a internet funciona em um navegador.
- Digite novamente o login, a senha e o nome exato do servidor. A ajuda do MT5 observa que também é possível digitar o endereço manualmente como "[número do servidor]:[número da porta], por exemplo, 192.168.0.1:443".
- Verifique se a senha é a senha master. A MetaQuotes explica que "a autorização de investidor permite ver o status da conta, analisar preços e trabalhar com seus próprios Expert Advisors, mas não negociar".
- Verifique o proxy e o firewall. No MT5, a aba Server em Tools > Options contém a "configuração da conexão com o servidor, configuração de um servidor proxy".
- Abra o visualizador de logs, filtre por "No connection" e envie o arquivo YYYYMMDD.LOG para a corretora.
O que a corretora deve verificar no lado do servidor
- Acessibilidade de cada ponto de acesso. Teste cada endereço e porta publicados na lista de servidores a partir de fora da sua própria rede, e teste a partir de mais de uma região.
- Alterações recentes de infraestrutura. Novos IPs, registros DNS, mudanças de data center ou regras de proteção contra DDoS costumam causar ondas de "No connection".
- Saúde do servidor. CPU, memória e disco nos servidores de negociação e de acesso. A sobrecarga aparece como timeouts (128 ERR_TRADE_TIMEOUT, 10012 TRADE_RETCODE_TIMEOUT) antes de desconexões completas.
- Estado da conta. A conta está ativada? Está no grupo correto? Foi transferida durante uma migração? A troca obrigatória de senha foi ativada? A ajuda do MT5 confirma que "a troca obrigatória de senha pode ser ativada pelo administrador do servidor de negociação".
- Builds antigos do cliente. 5 ERR_OLD_VERSION ("Old version of the client terminal") significa que o terminal precisa ser atualizado.
Para problemas mais profundos de rede e de host, veja diagnóstico de servidores forex e hospedagem de servidores MetaTrader.
Códigos de retorno do servidor de negociação do MT5 que as corretoras mais veem
Os códigos do MT5 abaixo são os que mais chegam à central de suporte de uma corretora, e vários deles apontam o servidor como causa. Os nomes e as descrições são citados da MQL5 Reference. A coluna da direita mostra por onde começamos a investigar no servidor.
| Código | Constante | Descrição da MetaQuotes | Primeira verificação no servidor |
|---|---|---|---|
| 10004 | TRADE_RETCODE_REQUOTE | Requote | Modo de execução e configurações de desvio de preço do símbolo |
| 10006 | TRADE_RETCODE_REJECT | Solicitação rejeitada | Rejeição do dealer, do gateway ou do bridge no journal do servidor |
| 10012 | TRADE_RETCODE_TIMEOUT | Solicitação cancelada por timeout | Tempo de resposta do bridge/LP, carga do servidor |
| 10014 | TRADE_RETCODE_INVALID_VOLUME | Volume inválido na solicitação | Volume mín./máx./incremento do símbolo, limites de volume do grupo |
| 10016 | TRADE_RETCODE_INVALID_STOPS | Stops inválidos na solicitação | Stops level e freeze level do símbolo |
| 10017 | TRADE_RETCODE_TRADE_DISABLED | A negociação está desativada | Modo de negociação do símbolo, permissões de símbolos do grupo, direitos da conta |
| 10018 | TRADE_RETCODE_MARKET_CLOSED | O mercado está fechado | Sessões de negociação, horário de verão, calendário de feriados |
| 10019 | TRADE_RETCODE_NO_MONEY | Não há dinheiro suficiente para concluir a solicitação | Alavancagem e configurações de margem do grupo |
| 10021 | TRADE_RETCODE_PRICE_OFF | Não há cotações para processar a solicitação | Feed de dados, sessão do LP/bridge, fontes de cotação do símbolo |
| 10024 | TRADE_RETCODE_TOO_MANY_REQUESTS | Solicitações frequentes demais | Limites de taxa de solicitações; muitas vezes um EA em loop |
| 10026 | TRADE_RETCODE_SERVER_DISABLES_AT | Autotrading desativado pelo servidor | Permissões de Expert Advisors no grupo ou na conta |
| 10030 | TRADE_RETCODE_INVALID_FILL | Tipo de preenchimento de ordem inválido | Modos de preenchimento permitidos no símbolo vs. modo de execução |
| 10031 | TRADE_RETCODE_CONNECTION | Sem conexão com o servidor de negociação | Acessibilidade dos pontos de acesso, status do servidor |
| 10040 | TRADE_RETCODE_LIMIT_POSITIONS | O número de posições abertas … pode ser limitado pelas configurações do servidor | Limites de posições do grupo |
| 10044 | TRADE_RETCODE_CLOSE_ONLY | A solicitação é rejeitada porque a regra "Only position closing is allowed" está definida para o símbolo | Modo de negociação do símbolo (somente fechamento) |
| 10046 | TRADE_RETCODE_HEDGE_PROHIBITED | … a regra "Opposite positions on a single symbol are disabled" está definida para a conta de negociação | Regras de hedging do grupo |
A lista completa, incluindo 10009 TRADE_RETCODE_DONE ("Request completed") e 10010 TRADE_RETCODE_DONE_PARTIAL, está na página MQL5 Trade Server Return Codes.
Códigos de erro do MT4 e seus equivalentes no MT5
Os erros de negociação do MT4 usam números pequenos que a MetaQuotes lista na MQL4 Reference, e a maioria tem uma contrapartida direta no MT5. Use o mapeamento abaixo quando os clientes passarem de uma plataforma para outra ou quando você operar os dois servidores durante uma migração de MT4 para MT5.
| Código MT4 | Constante e descrição no MT4 | Código MT5 mais próximo |
|---|---|---|
| 2 | ERR_COMMON_ERROR — Common error | 10011 TRADE_RETCODE_ERROR |
| 4 | ERR_SERVER_BUSY — Trade server is busy | 10012 TRADE_RETCODE_TIMEOUT (pelo efeito) |
| 6 | ERR_NO_CONNECTION — No connection with trade server | 10031 TRADE_RETCODE_CONNECTION |
| 65 | ERR_INVALID_ACCOUNT — Invalid account | Erro no momento do login, sem retcode |
| 129 | ERR_INVALID_PRICE — Invalid price | 10015 TRADE_RETCODE_INVALID_PRICE |
| 130 | ERR_INVALID_STOPS — Invalid stops | 10016 TRADE_RETCODE_INVALID_STOPS |
| 131 | ERR_INVALID_TRADE_VOLUME — Invalid trade volume | 10014 TRADE_RETCODE_INVALID_VOLUME |
| 132 | ERR_MARKET_CLOSED — Market is closed | 10018 TRADE_RETCODE_MARKET_CLOSED |
| 133 | ERR_TRADE_DISABLED — Trade is disabled | 10017 TRADE_RETCODE_TRADE_DISABLED |
| 134 | ERR_NOT_ENOUGH_MONEY — Not enough money | 10019 TRADE_RETCODE_NO_MONEY |
| 136 | ERR_OFF_QUOTES — Off quotes | 10021 TRADE_RETCODE_PRICE_OFF |
| 138 | ERR_REQUOTE — Requote | 10004 TRADE_RETCODE_REQUOTE |
| 146 | ERR_TRADE_CONTEXT_BUSY — Trade context is busy | Sem equivalente direto |
| 149 | ERR_TRADE_HEDGE_PROHIBITED | 10046 TRADE_RETCODE_HEDGE_PROHIBITED |
| 150 | ERR_TRADE_PROHIBITED_BY_FIFO | 10045 TRADE_RETCODE_FIFO_CLOSE |
O mapeamento é o nosso guia prático, não uma tabela oficial da MetaQuotes. As descrições em si são citadas da página MQL4 Trade Server Return Codes.
Trade context busy (146) é específico do MT4. A função MQL4 IsTradeContextBusy() "retorna true se uma thread de negociação estiver ocupada por outro Expert Advisor". É um problema do lado do cliente. Vários EAs em um mesmo terminal disputam a thread de negociação, e a correção é uma lógica de nova tentativa ou menos EAs por terminal. A corretora não pode corrigi-lo no servidor.
Stops inválidos, off quotes e requotes: os erros de configuração
Stops inválidos, off quotes e requotes parecem erros do trader, mas muitas vezes são causados pelas configurações do símbolo ou pela cadeia de liquidez. Quando aparecem em muitas contas ao mesmo tempo, a corretora deve tratá-los como um incidente de configuração.
Stops inválidos (130 / 10016) e modificação negada (145)
O MetaTrader impõe duas distâncias. A MQL5 Reference define SYMBOL_TRADE_STOPS_LEVEL como o "recuo mínimo em pontos a partir do preço de fechamento atual para colocar ordens Stop". Ela define SYMBOL_TRADE_FREEZE_LEVEL como a "distância de congelamento das operações de negociação em pontos". O MQL4 book acrescenta que "ordens pendentes não podem ser excluídas ou modificadas se o preço de abertura declarado violar os requisitos do parâmetro FreezeLevel". O erro do MT4 para esse caso é 145 ERR_TRADE_MODIFY_DENIED: "Modificação negada porque a ordem está muito próxima do mercado".
Causas do lado do servidor que verificamos:
- Um stops level ou freeze level foi aumentado (por causa de notícias ou de um novo LP) sem aviso aos clientes.
- Os spreads flutuantes se ampliaram, de modo que um stop que era válido um segundo antes agora está perto demais.
- Os dígitos do símbolo mudaram (por exemplo, após uma troca de feed), de modo que "pontos" passam a significar outra coisa para os EAs existentes.
Off quotes (136) e sem preços (10021)
A MetaQuotes descreve o 10021 como "Não há cotações para processar a solicitação". Em um servidor de corretora, isso quase sempre significa que o fluxo de preços daquele símbolo parou ou ficou desatualizado. As causas típicas são uma sessão de LP desconectada, um reinício do bridge, um erro de mapeamento do feed de dados após a renomeação de um símbolo ou um horário de sessão que encerrou as cotações mais cedo. Verifique primeiro o status do feed e os logs do bridge. Veja soluções de bridge e integração com provedores de liquidez.
Requotes (138 / 10004) e preço alterado (135 / 10020)
Os requotes vêm da execução instantânea ou por solicitação, em que o servidor responde com um novo preço em vez de executar. Requotes frequentes normalmente significam que as configurações de desvio estão apertadas demais para a volatilidade atual ou que a fonte de preços está lenta demais. Separadamente, uma ordem pode retornar 10030 TRADE_RETCODE_INVALID_FILL se os modos de preenchimento permitidos no símbolo (SYMBOL_FILLING_MODE, "flags dos modos de preenchimento de ordens permitidos") não corresponderem ao que o cliente ou o EA envia.
Erros se espalhando entre as contas?
Envie-nos os códigos de erro e algumas linhas do journal. Diremos se a causa está no cliente, na configuração do símbolo, no servidor ou na cadeia de liquidez, e ajudaremos você a corrigi-la.
Solicitar uma revisão técnica gratuita WhatsApp TelegramErros de autotrading e de permissão
Os erros de autotrading se distinguem claramente pelo nome: o 10026 diz que o servidor o desativou, e o 10027 diz que foi o terminal do cliente. No MT4, o equivalente do lado do cliente é o erro de execução 4109.
10026 — Autotrading desativado pelo servidor
A corretora desativou a negociação por Expert Advisors para a conta ou para o grupo dela. Corrija nas permissões do grupo ou da conta, ou informe ao cliente que EAs não são permitidos nesse tipo de conta.
10027 — Autotrading desativado pelo terminal do cliente
O botão Algo Trading ou a configuração do próprio EA está desativado. O trader o ativa. O erro de execução MQL5 4752 ERR_TRADE_DISABLED ("Trading by Expert Advisors prohibited") tem o mesmo significado dentro do código.
4109 — ERR_TRADE_NOT_ALLOWED (MT4)
A descrição da MetaQuotes é direta: "A negociação não é permitida. Ative a caixa de seleção "Allow live trading" nas propriedades do Expert Advisor". É do lado do cliente.
133 / 10017 — A negociação está desativada
O símbolo está em modo somente visualização ou somente fechamento, o grupo não tem permissão para esse símbolo, ou o cliente fez login com a senha de investidor.
Plugins também podem bloquear ou reescrever solicitações. Um plugin de risco ou de roteamento que rejeita ordens aparece para o cliente como uma rejeição genérica (10006) ou um erro comum (2). Se as rejeições começaram após a atualização de um plugin, verifique esse plugin primeiro. Desenvolvemos e mantemos esses plugins como parte do desenvolvimento de plugins MetaTrader.
Checklist do lado do servidor para corretoras com erros recorrentes
Quando o mesmo erro continua voltando, percorra o servidor em uma ordem fixa: escopo, logs, alterações recentes e depois configuração. Essa ordem separa um problema de configuração de um problema de infraestrutura já nas primeiras verificações.
- Escopo. É uma conta, um grupo, um símbolo ou todos os usuários? É no MT4, no MT5 ou em ambos? É um ponto de acesso ou todos?
- Obtenha o código exato. Peça o retcode ou o número do erro e o horário. Não trabalhe apenas com capturas de tela de mensagens pop-up.
- Leia o journal do servidor no mesmo horário. Relacione a solicitação do cliente com a entrada do lado do servidor (dealer, gateway, plugin ou bridge).
- Liste as alterações recentes. Atualizações da plataforma, edições de símbolos ou grupos, novos plugins, mudanças de LP ou bridge, regras de IP/DNS ou firewall, mudanças de horário de verão.
- Verifique o símbolo. Modo de negociação, sessões, stops level e freeze level, limites de volume, modos de preenchimento, modo de execução, fonte de cotações.
- Verifique o grupo e a conta. Alavancagem, configurações de margem, permissões de EAs, regras de hedging/FIFO, limites de posições, conta ativada.
- Verifique a cadeia de liquidez. Status do bridge, sessões de LP, ordens rejeitadas e com timeout nos logs do bridge.
- Verifique a infraestrutura. CPU, memória, disco, latência de rede entre servidores, além de backups e integridade do banco de dados após qualquer falha.
- Corrija e depois monitore. Acompanhe a taxa de erros após a alteração, e não apenas o chamado individual.
Este é o mesmo processo que a FXSUPPORT usa com corretoras clientes. Ele faz parte do nosso trabalho de administração MetaTrader e de operações de risco, que inclui verificações de horários de sessão, de horário de verão e de feriados.
Do combate a incêndios ao monitoramento
A maioria dos erros recorrentes do MetaTrader pode ser detectada nos logs do servidor antes que os clientes reclamem. Chega-se a isso acompanhando taxas de erro em vez de chamados individuais. Um aumento de 10021 em um símbolo, timeouts durante uma sessão ou rejeições após um reinício do bridge ficam visíveis nos logs minutos depois de começarem.
A FXSUPPORT oferece suporte às plataformas MT4/MT5 para corretoras e prop firms: instalação, atualizações, backups, configuração, monitoramento de logs e configuração de bridges. Também cuidamos da infraestrutura de servidores no Reino Unido e na Holanda, com monitoramento e meta de 99,9% de disponibilidade. Na prática, isso significa que:
- acompanhamos os logs da plataforma e do bridge em busca de padrões de erro, e não apenas de interrupções;
- revisamos as configurações de símbolos, sessões e grupos após cada alteração e antes das mudanças de horário de verão;
- verificamos o comportamento dos plugins após atualizações da plataforma;
- reforçamos os servidores contra DDoS e mantemos os backups restauráveis.
Se você administra uma corretora e sua equipe de suporte passa os dias respondendo aos mesmos chamados de erro, isso é sinal de que a causa está no servidor. Veja suporte MT5 e suporte MT4 para saber o que cobrimos, ou entre em contato para uma revisão técnica gratuita.
Perguntas frequentes
Quais são os erros mais comuns do MetaTrader?
Onde encontro a lista oficial de códigos de erro do MT5?
O MT4 e o MT5 usam os mesmos números de erro?
O que significa "No connection" no MT4 ou no MT5?
Por que o MetaTrader diz "Invalid account" quando minha senha está correta?
O que é TRADE_RETCODE_PRICE_OFF (10021)?
Como corrijo stops inválidos (130 ou 10016)?
Qual é a diferença entre 10026 e 10027?
Por que uma ordem retorna "done", mas nenhuma posição é aberta?
O que significa "Trade context is busy" (146)?
Onde ficam armazenados os arquivos de log do MetaTrader?
Quando uma corretora deve terceirizar o tratamento de erros do MetaTrader?
A FXSUPPORT faz parte da MetaQuotes?
Fontes
- Trade Server Return Codes — MQL5 Reference, MetaQuotes (acessado em 8 de outubro de 2026)
- Runtime Errors — MQL5 Reference, MetaQuotes (acessado em 8 de outubro de 2026)
- Trade Server Return Codes — MQL4 Reference, MetaQuotes (acessado em 8 de outubro de 2026)
- Runtime Errors — MQL4 Reference, MetaQuotes (acessado em 8 de outubro de 2026)
- IsTradeContextBusy — MQL4 Reference, MetaQuotes (acessado em 8 de outubro de 2026)
- OrderSend — MQL5 Reference, MetaQuotes (acessado em 8 de outubro de 2026)
- Symbol Properties — MQL5 Reference, MetaQuotes (acessado em 8 de outubro de 2026)
- Requirements and Limitations in Making Trades — MQL4 Book, MetaQuotes (acessado em 8 de outubro de 2026)
- Connect to an Account — MetaTrader 5 Help, MetaQuotes (acessado em 8 de outubro de 2026)
- Platform Logs — MetaTrader 5 Help, MetaQuotes (acessado em 8 de outubro de 2026)
- Platform Settings — MetaTrader 5 Help, MetaQuotes (acessado em 8 de outubro de 2026)
A FXSUPPORT não é afiliada à MetaQuotes Ltd. nem aos fornecedores citados nesta página. Informações gerais, não constituem aconselhamento jurídico ou de investimento.
Vê os mesmos erros em muitas contas?
Envie-nos os códigos e algumas linhas de log. Revisamos a configuração do seu servidor MT4/MT5 e indicamos de onde vêm os erros.