Início > Blog > Códigos de erro MT5: 10027, 10030, 10016 e mais

MT5MQL5

Códigos de erro MT5: 10027, 10030, 10016 e mais

Publicado: 2026-05-18Leitura: cerca de 6 min
⏱ Este artigo reflete as informações na data de publicação. Os números de desempenho dos EAs (PF, DD, retorno anual) mudam com a operação real e com a revalidação — confira os mais recentes nas páginas dos EAs. Ver os resultados mais recentes dos EAs →
Sumário (7)
  1. Consulta rápida: código → significado → correção
  2. Como acessar a aba Expert
  3. Códigos de erro mais comuns e como resolvê-los
  4. Classificação dos erros por prioridade
  5. Como ler a aba Expert com eficiência
  6. Resumo
  7. Perguntas Frequentes

Códigos de erro do MT5 / MQL5: retcodes 10004–10031 e erros de execução

O MT5 informa dois tipos de erro: os retcodes de negociação de 5 dígitos (por exemplo, 10027 AutoTrading desativado, 10030 modo de preenchimento não suportado, 10016 stops inválidos, 10019 saldo insuficiente) e os erros de execução de 4 dígitos do GetLastError() (por exemplo, 4401, 4756) — a tabela abaixo relaciona cada um à sua correção.

Consulta rápida: código → significado → correção

Os números e os nomes das constantes seguem a referência oficial do MQL5 (códigos de retorno do servidor de negociação e erros de execução).

Retcodes de negociação (MqlTradeResult.retcode)

CódigoConstanteSignificadoCorreçãoDetalhes
10004TRADE_RETCODE_REQUOTERequote — o preço se moveu antes da execuçãoAumente o desvio permitido ou reenvie a ordem ao preço atualizadoOff quotes e requotes
10006TRADE_RETCODE_REJECTSolicitação rejeitadaGeralmente é spread amplo ou mercado rápido; deixe o EA tentar novamente em um tick posterior—
10013TRADE_RETCODE_INVALIDSolicitação inválidaUm campo da solicitação (ação, tipo de ordem, símbolo) está errado; valide-a com OrderCheck() antes de enviar—
10014TRADE_RETCODE_INVALID_VOLUMEVolume inválido na solicitaçãoArredonde o lote para o mínimo, o máximo e o passo do símbolo (SYMBOL_VOLUME_MIN / MAX / STEP)—
10015TRADE_RETCODE_INVALID_PRICEPreço inválido na solicitaçãoNormalize o preço conforme os dígitos e o tamanho do tick do símbolo; confirme que a ordem pendente está do lado correto do mercado—
10016TRADE_RETCODE_INVALID_STOPSStops inválidos na solicitaçãoMantenha o SL/TP mais distante que o stops level do broker e do lado correto do preçoInvalid stops
10017TRADE_RETCODE_TRADE_DISABLEDA negociação está desabilitadaVerifique o modo de negociação do símbolo em Especificação e se você entrou com a senha de negociação (não a de investidor); caso contrário, consulte o broker—
10018TRADE_RETCODE_MARKET_CLOSEDO mercado está fechadoAguarde a abertura da sessão de negociação do símboloMercado fechado
10019TRADE_RETCODE_NO_MONEYSaldo insuficiente para concluir a solicitaçãoReduza o tamanho do lote, feche posições ou deposite fundosSaldo insuficiente
10021TRADE_RETCODE_PRICE_OFFSem cotações para processar a solicitaçãoVerifique a conexão e se o símbolo está sendo cotado no momento e tente novamenteOff quotes e requotes
10026TRADE_RETCODE_SERVER_DISABLES_ATAutotrading desabilitado pelo servidorO broker bloqueia a negociação algorítmica nesta conta; entre em contato com o brokerAutoTrading desativado
10027TRADE_RETCODE_CLIENT_DISABLES_ATAutotrading desabilitado pelo terminal clienteAtive o botão Algo Trading e permita o algo trading em Opções e nas propriedades do EAAutoTrading desativado
10030TRADE_RETCODE_INVALID_FILLTipo de preenchimento da ordem inválidoDefina type_filling com um modo que o símbolo suporte (FOK / IOC / Return)Modo de preenchimento não suportado
10031TRADE_RETCODE_CONNECTIONSem conexão com o servidor de negociaçãoVerifique a barra de status da conexão, a rede do VPS e o status do servidor do broker—

Erros de execução (GetLastError())

CódigoConstanteSignificadoCorreçãoDetalhes
4001ERR_INTERNAL_ERRORErro interno inesperadoNão é específico de uma única causa: chame ResetLastError() antes da função que você está verificando e, se persistir, reinicie ou atualize o terminal—
4401ERR_HISTORY_NOT_FOUNDHistórico solicitado não encontradoChame HistorySelect() para um período que contenha o negócio ou a ordem antes de lê-lo—
4752ERR_TRADE_DISABLEDNegociação por Expert Advisors proibidaAtive o Algo Trading e marque “Permitir Algo Trading” nas propriedades do EAAutoTrading desativado
4756ERR_TRADE_SEND_FAILEDFalha no envio da solicitação de negociaçãoOrderSend() retornou false; leia MqlTradeResult.retcode para saber o motivo real (geralmente 10027, 10030 ou 10016)—

Vindo do MT4? O MT4 usa números diferentes, na maioria de 3 dígitos, para as mesmas situações (134, 130, 132, 136, 4109 …). Cada seção abaixo traz o equivalente no MT4, extraído da referência oficial do MQL4. Observe que no MT5 o número 4109 significa ERR_CHART_WRONG_PROPERTY (um erro de gráfico), e não um erro de negociação.

Nossos 3 EAs principais (todos os números do backtest de longo prazo e do forward público)

📧 Curso gratuito por e-mail (8 e-mails) + pacote com 13 indicadores MT5 exclusivo para inscritos

* Privacidade rigorosamente protegida. Você pode cancelar a inscrição a qualquer momento.

Como acessar a aba Expert

Clique na aba Expert na parte inferior do MT5 para ver um log cronológico de toda a atividade dos EAs.

Formato do log:
2026.05.18 10:00:01.234  GOLD VIPER XAUUSD,M30: [ERROR] 10016

Data/Hora   Nome do EA       Símbolo   Timeframe  Mensagem

Quando um erro aparecer, use o número do código para encontrar a causa na tabela acima.


Códigos de erro mais comuns e como resolvê-los

10019 — Saldo insuficiente (TRADE_RETCODE_NO_MONEY)

Equivalente no MT4: 134 ERR_NOT_ENOUGH_MONEY. ERR_NO_MONEY é uma abreviação muito usada para a mesma situação.

Exemplos de mensagem: "Order failed: not enough money"
                      "No money"

Causa: Margem insuficiente — o EA não consegue abrir uma nova posição.

Como resolver:

  1. Verifique o nível de margem atual na aba Trade do MT5
  2. Se a margem estiver próxima ou abaixo de 100%, considere fazer um depósito adicional
  3. Reduza a configuração RiskPercent do EA para diminuir o tamanho da posição
  4. Feche manualmente algumas posições abertas para liberar margem

📖 Para entender por que ele aparece mesmo quando o saldo parece suficiente, e o código MQL5 que o evita, veja Not enough money no MT5 — causas e soluções.


10027 — AutoTrading desabilitado pelo cliente (TRADE_RETCODE_CLIENT_DISABLES_AT)

Erro de execução do MT5 relacionado: 4752 ERR_TRADE_DISABLED. Equivalente no MT4: 4109 ERR_TRADE_NOT_ALLOWED.

Exemplos de mensagem: "AutoTrading disabled by client"
                      "Trade is not allowed"

Causa: A negociação automática está desativada no MT5.

Como resolver:

  1. Clique no botão Algo Trading na barra de ferramentas do MT5 para ativá-lo (ele deve ficar verde)
  2. Vá em Ferramentas → Opções → Expert Advisors → ative Permitir Algo Trading e reinicie o MT5

Este erro ocorre com frequência quando o MT5 inicia automaticamente após uma reinicialização do VPS.

📖 Para ver toda a cadeia de permissões (configurações de Opções, Permitir Algo Trading por gráfico, senha de investidor e a diferença entre 10027 e 10026), veja AutoTrading desativado no MT5 — a solução completa.


10018 — Mercado fechado (TRADE_RETCODE_MARKET_CLOSED)

Equivalente no MT4: 132 ERR_MARKET_CLOSED.

Exemplo de mensagem: "Market closed"

Causa: O EA tentou abrir uma operação fora do horário de mercado (fim de semana ou feriado).

Como resolver: Nenhuma ação é necessária. O mercado fica fechado durante o fim de semana, e qualquer tentativa de entrada nesse intervalo gera este erro; o EA retoma automaticamente quando o mercado reabre.

📖 Está aparecendo em dias úteis? Sessões de negociação do símbolo, horário do servidor e modo somente fechamento são explicados em Market closed (10018/132) — causas e soluções.


10016 — Stops inválidos (TRADE_RETCODE_INVALID_STOPS)

Equivalente no MT4: 130 ERR_INVALID_STOPS.

Exemplo de mensagem: "Invalid stops"

Causa: O valor do SL (stop loss) ou do TP (take profit) viola a exigência de stop level mínimo do broker.

Como resolver:

  1. Verifique o stop level do broker (distância mínima do SL): clique com o botão direito no símbolo no MT5 → Especificação → procure o campo Stops level
  2. Confirme que a distância do SL do EA é maior que o stop level
  3. Este erro é mais comum em períodos de baixa volatilidade, quando os valores de ATR são muito pequenos

📖 Para entender como os stop levels realmente funcionam, a diferença entre 10016 e 130 e o código MQL5 que evita o erro de vez, veja Invalid stops (10016/130) — a solução completa.


10021 — Sem cotações (TRADE_RETCODE_PRICE_OFF)

Equivalente no MT4: 136 ERR_OFF_QUOTES.

Exemplo de mensagem: "Off quotes"

Causa: Nenhuma cotação recebida do servidor do broker — um problema de conectividade.

Como resolver:

  1. Verifique o status da conexão na barra de status do MT5, na parte inferior da tela
  2. Se estiver desconectado, reinicie o MT5
  3. Consulte a página de status dos servidores do seu broker para verificar se há instabilidade
  4. Verifique a conexão de rede do seu VPS

📖 Para ver a diferença em relação aos requotes (10004/138), o ajuste do desvio e uma implementação de novas tentativas, veja Off quotes e requotes (10021/10004) — a solução completa.

📖 Recebendo Unsupported filling mode (10030) logo depois de trocar de broker? É um problema diferente — veja Unsupported filling mode (10030) — como corrigir.


10012 — Tempo limite da solicitação esgotado (TRADE_RETCODE_TIMEOUT)

Equivalente no MT4: 128 ERR_TRADE_TIMEOUT.

Exemplo de mensagem: "Request canceled by timeout"

Causa: A ordem expirou por congestionamento do servidor ou latência de rede.

Como resolver:

  1. É mais comum logo após notícias importantes, quando a carga do servidor está alta
  2. Em geral, o EA tenta novamente no próximo tick — nenhuma ação é necessária
  3. Se acontecer com frequência, revise o ambiente de rede do seu VPS ou considere outro broker

10006 — Solicitação rejeitada (TRADE_RETCODE_REJECT)

Exemplo de mensagem: "Request rejected"

Causa: O broker rejeitou a ordem — normalmente porque o spread ultrapassou os limites ou o preço se moveu rápido demais.

Como resolver:

  1. Revise a configuração MaxSpreadPoints; este erro é comum quando os spreads se ampliam de forma significativa
  2. Durante as notícias e logo depois delas, esse é o comportamento esperado — você pode ignorá-lo
  3. Se ocorrer com frequência, aumente ligeiramente o valor de MaxSpreadPoints

"Margin level too low"

Exemplo de mensagem: "Margin level too low. Skip signal."

Causa: A configuração UseMarginCheck = true do EA detectou que o nível de margem caiu abaixo de MinMarginLevel (por exemplo, 200%), então as novas entradas são bloqueadas automaticamente.

Como resolver:

  1. Este é um comportamento de proteção normal — não é um erro
  2. As entradas serão retomadas automaticamente quando o nível de margem se recuperar
  3. Solução definitiva: deposite mais fundos ou reduza o RiskPercent

"No signal on this bar" ou "Wait for next bar"

Não são erros — são registros de depuração do log.

"No signal. ATR=1245, EMA(50)=1998.23"

O EA avalia o gráfico a cada candle e registra quando as condições de entrada não são atendidas. É o funcionamento normal.


Classificação dos erros por prioridade

PrioridadeErroAção
Crítico10019 Saldo insuficiente (MT4: 134)Deposite fundos ou reduza o tamanho do lote imediatamente
Crítico10027 AutoTrading desativado / 4752 (MT4: 4109)Ative o Algo Trading
Alerta10016 Stops inválidos (MT4: 130)Revise as configurações de SL
Alerta10030 Tipo de preenchimento inválidoDefina um modo de preenchimento que o símbolo suporte
Alerta10021 Sem cotações (MT4: 136) recorrenteVerifique a conexão
Normal10018 Mercado fechado (MT4: 132) apenas no fim de semanaNenhuma ação necessária
Normal10012 Tempo limite (MT4: 128) ocasionalNenhuma ação necessária
NormalMargin level too lowProteção normal com margem baixa

Como ler a aba Expert com eficiência

Filtrar o log

Clique com o botão direito dentro da aba Expert e selecione Filter para exibir apenas os logs de um EA ou de um tipo de erro específico.

Localização dos arquivos de log

Os arquivos de log do MT5 são salvos aqui:

C:\Users\[NomeDeUsuário]\AppData\Roaming\MetaQuotes\Terminal\[ID]\MQL5\Logs\

Os arquivos são criados automaticamente por data. Abra esta pasta ao investigar erros.


Resumo

A maioria dos erros de EA se enquadra em quatro categorias:

  1. Margem insuficiente (10019) — Deposite mais fundos ou reduza o tamanho do lote
  2. AutoTrading desligado (10027 / 4752) — Clique no botão Algo Trading para ativá-lo
  3. Problemas de conexão (10021 / 10031) — Reinicie o MT5 ou verifique a rede do VPS
  4. Comportamento normal — Nenhuma ação necessária (mercado fechado no fim de semana, espera para evitar spread amplo, etc.)

Crie o hábito de verificar a aba Expert diariamente para identificar rapidamente os erros críticos (10019 e 10027) antes que causem problemas.


Perguntas Frequentes

P: Onde posso consultar os códigos de erro?

A referência oficial do MQL5 lista todos os códigos: códigos de retorno do servidor de negociação para a faixa 10004–10046 e erros de execução para a faixa 4xxx. Você também pode pesquisar na ajuda integrada do MT5 (pressione F1).

P: Qual é a diferença entre um retcode e GetLastError()?

Um retcode (10004–10046) é a resposta do servidor de negociação a uma ordem e fica armazenado em MqlTradeResult.retcode. GetLastError() retorna um erro de execução do próprio programa MQL5 (4xxx e 5xxx). Quando OrderSend() falha, você geralmente recebe os dois: 4756 do GetLastError() mais um retcode que informa o motivo real.

P: Devo parar o EA se os erros aparecerem com frequência?

Se 10018 (mercado fechado) ou 10012 (tempo limite) aparecerem ocasionalmente, não é necessário parar o EA. No entanto, se 10019 (saldo insuficiente) se repetir, pause o EA, revise a situação da margem e reinicie-o depois de resolver.

P: Está aparecendo o erro “Invalid account”.

Suas credenciais de login do MT5 (nome do servidor, ID de login ou senha) podem estar incorretas. Vá em Arquivo → Abrir uma Conta para fazer login novamente.

P: Nenhum erro aparece, mas o EA não abre operações.

Se não há erros nem entradas, o EA está simplesmente aguardando que suas condições de entrada sejam atendidas — isso é perfeitamente normal. Os EAs não entram em todo candle; eles entram apenas quando todas as condições se alinham. Dê um tempo a ele. Um EA de H1 que entra de uma a três vezes por dia está operando normalmente.

📧 Curso gratuito por e-mail (8 e-mails) + pacote com 13 indicadores MT5 exclusivo para inscritos

* Privacidade rigorosamente protegida. Você pode cancelar a inscrição a qualquer momento.

Tem alguma dúvida sobre EAs ou Forex?

Você pode publicá-la no fórum de trading da Nattzy (cadastro gratuito). Dúvidas além deste artigo também são bem-vindas — configuração de EAs, escolha de corretora e mais.

Perguntar na Nattzy ↗

Comentários e perguntas