ForexBestRobots.comComparar EAs →
PT-BR

MT4 e Expert Advisors · Identificação de ordens

Magic Number no MT4: como um Expert Advisor identifica suas operações

Entenda como o Magic Number identifica ordens e ajuda a separar estratégias quando o código verifica o escopo de gestão previsto.

13 min de leituraRevisado pela equipe editorial da ForexBestRobots
Diagrama do Magic Number no MT4 separando Expert Advisors e operações manuais em grupos de ordensMT4 e Expert AdvisorsGuia prático para MT4

Ilustração original criada para a ForexBestRobots.com.

Magic Number é um número inteiro que o Expert Advisor grava na ordem quando abre uma operação. Depois, o EA consulta posições abertas e histórico, encontra esse identificador e decide quais ordens pode gerenciar.

Função do Magic Number

O número não melhora a rentabilidade, não limita drawdown e não registra a conta. Sua função é operacional: separar estratégias e impedir, quando o código está correto, que um EA modifique ordens de outro sistema.

Diagrama do Magic Number no MT4 separando Expert Advisors e operações manuais em grupos de ordens
Magic Number identifica a ordem; não controla risco nem funciona como licença da conta.
Um número exclusivo evita confusão, não prejuízo

Lote, Stop Loss, correlação e drawdown máximo ainda precisam de controles de risco separados.

Fluxo das ordens

Use um inteiro exclusivo e documentado para cada estratégia independente. Mantenha o mesmo valor ao reiniciar o MT4 ou migrar a instalação para o VPS. O sufixo do ativo, sozinho, não exige outro Magic Number, mas uma instância independente normalmente exige. Se o fornecedor fixa ou oculta o valor, respeite essa arquitetura.

1

Defina quem controla cada ordem

Leia a orientação do fornecedor. Alguns EAs usam um número fixo; sistemas de portfólio podem compartilhá-lo de propósito.

2

Registre cada atribuição

Mantenha uma tabela com terminal, conta, EA, ativo, timeframe e Magic Number.

3

Configure antes de anexar

Informe o número em Inputs antes da conta real. Não copie um set sem verificação quando outro EA já usa o mesmo número.

4

Preserve durante trades abertos

Com posições ativas, não altere o identificador sem procedimento de migração do desenvolvedor. A nova instância pode deixar de reconhecer a cesta existente.

Conflitos comuns

CenárioIdentificação recomendadaRisco de confusão
Um EA em um gráficoUm número estável para a instânciaAlterar com trades abertos pode deixá-los sem gerenciamento
Mesmo EA em dois paresUm número por ativo, salvo orientação diferenteO EA pode misturar cestas ou fechar o grupo errado
Dois EAs diferentesIdentificador exclusivo para cada EAOs dois programas podem tentar gerenciar as mesmas ordens
Trades manuaisNormalmente Magic Number 0Um EA autorizado a gerenciar 0 pode modificá-los

Erros comuns

Números duplicados em EAs sem relação
Arquivo set que substitui o identificador planejado
Mesma conta em dois terminais com configurações diferentes
Magic Number 0 quando o EA gerencia operações manuais
Mudança do valor depois da abertura de uma cesta

Configuração segura

Confira o escopo documentado de identificação das ordens antes de escolher números. Alguns programas filtram por Magic Number e símbolo; EAs de portfólio podem gerenciar intencionalmente vários símbolos juntos. O identificador só funciona se o código verificar o escopo previsto antes de alterar ou fechar uma ordem.

Não use comentários como trava de gestão. O servidor pode alterá-los e Magic Number 0 é comum em ordens manuais. Verifique o campo magic real com script ou relatório confiável de diagnóstico, não apenas o comentário exibido.

Como verificar

Abra Terminal → Negociação e revise o comentário da ordem, quando houver.
Use um relatório ou script que exiba o campo magic.
Uma ordem de teste de outro EA não deve ser modificada.
Revise Experts e Diário após reiniciar.
Teste vários EAs em Demo antes da conta Real.

Um Magic Number não bloqueia outro terminal

Dois terminais na mesma conta podem ler e agir sobre o mesmo conjunto de ordens. Um Magic Number compartilhado não cria um mutex no servidor nem define um terminal proprietário. Mesmo identificadores diferentes não impedem duas cópias de abrir exposição duplicada se detectarem o mesmo sinal de forma independente.

Mantenha uma instância prevista por instalação, salvo suporte explícito a coordenação pelo desenvolvedor. Ao migrar para VPS, preserve identificadores das posições abertas, pare a instância antiga e confirme a gestão pela nova. Não mude o identificador de uma cesta ativa para resolver um terminal duplicado.

A referência OrderSend descreve magic como identificador definido pelo usuário e informa que o servidor pode alterar o final do comentário.

Verificar quais ordens cada instância pode gerenciar

Suponha que o fornecedor permita expressamente duas instâncias demo independentes com identificadores 11401 e 11402. Registre conta, servidor, versão do EA, símbolos exatos e períodos gráficos. Quando um sinal normal gerar uma ordem de teste, examine seu campo magic real e seu símbolo. Cada instância deve reconhecer apenas as ordens dentro do escopo documentado, inclusive após reiniciar. Números distintos não comprovam, sozinhos, que o código filtra corretamente.

Se uma posição de outro sistema for alterada ou uma cesta existente não for reconhecida, não acrescente exposição e preserve as evidências. Não altere por experimento os identificadores das posições abertas. Um EA de portfólio coordenado pode adotar outro modelo de gerenciamento; suas instruções prevalecem sobre este exemplo de instâncias independentes.

Na transferência, siga as verificações de recuperação e mudança de VPS e avalie separadamente a exposição total do portfólio. Identificar corretamente as ordens evita confusão operacional, mas não torna estratégias correlacionadas independentes nem limita suas perdas de mercado.

Referência oficial

Consultar a documentação oficial.