Por que dois EAs de ouro gerenciam a mesma ordem? Verifique o magic number no MT4
Um caso em conta demo explica como o EA filtra ordens por símbolo e magic number, e como evitar que posições remanescentes fiquem sem gestão após a troca de número.
Autor: Thomas|Prática em MT4|10 de novembro de 2026
Resumo: Ao colocar dois EAs de ouro na mesma conta MT4, se eles usarem os mesmos critérios de identificação de ordens, podem modificar o stop loss da mesma ordem ao mesmo tempo. Na investigação, primeiro verifique o símbolo e o magic number na ordem, depois veja por quais critérios o código realmente filtra. Os números e ordens abaixo são hipóteses didáticas.
Onde o magic number é registrado
O OrderSend do MQL4 permite passar o parâmetro magic. Após a ordem ser selecionada com sucesso, OrderMagicNumber pode ler o número de identificação dessa ordem. Ele fornece uma base de classificação para o programa. Quais ordens específicas serão modificadas ou fechadas ainda é determinado pela lógica de filtragem e execução do próprio EA. Se o programa, ao percorrer as ordens da conta, verificar apenas o símbolo, dois EAs de ouro podem processar o mesmo lote de ordens mesmo que tenham magic numbers diferentes.

No diagrama, supõe-se que as estratégias A e B usem 101 e 202, respectivamente. A seleciona ordem por ordem do pool de negociação, primeiro verifica o símbolo real, depois o número de identificação. Somente quando ambos correspondem é que a lógica subsequente verifica o tipo de ordem e as ações permitidas. Falhas na seleção devem ser ignoradas e registradas como erro. Antes de qualquer modificação, é recomendável selecionar novamente a ordem alvo, para evitar usar dados antigos copiados anteriormente para o programa.
Verificação em três etapas com conta demo
Primeira etapa: registre a versão, os parâmetros de entrada, o período do gráfico e o nome completo do símbolo do corretor para os dois EAs. O nome do ouro pode ter sufixos diferentes em contas diferentes. Ao implantar várias instâncias no mesmo símbolo, também é preciso deixar claro se elas gerenciam ordens de forma independente ou se, por design, compartilham ordens.
Segunda etapa: na conta demo, faça cada EA gerar uma ordem de teste identificável e prepare também uma ordem de teste que deva ser excluída. O log deve registrar pelo menos o número da ordem, o símbolo, o magic number e a ação que o programa pretende executar. Em seguida, dispare uma ação de gestão controlada, por exemplo, tentar modificar a própria ordem de teste da estratégia A e verificar se a ordem da estratégia B mantém o valor original. Ordens pendentes e posições executadas devem, de preferência, ser verificadas separadamente, pois o pool de negociação pode conter os dois tipos e as regras reais de processamento geralmente são diferentes.
Terceira etapa: reinicie o terminal ou recarregue o EA e verifique novamente. Se o programa memorizar apenas a lista de ordens criadas durante a execução atual, o comportamento após reiniciar pode mudar. Verifique se ele reidentifica as ordens pelos critérios estabelecidos e se ocorrem ações inesperadas quando não há ordens correspondentes. O número é apenas um isolamento auxiliar; se a verificação de risco total no âmbito da conta lê intencionalmente todas as posições, isso deve ser registrado separadamente das permissões de modificação real de ordens.
Antes de trocar o número, trate as ordens antigas
Suponha que a estratégia A tenha aberto posições anteriormente com 101 e agora mude para 303. Alterações nos parâmetros de entrada geralmente afetam apenas os valores usados pelo código subsequente; o número de identificação das ordens antigas não migra automaticamente com a configuração do gráfico. Se a condição de gestão corresponder apenas a 303, as ordens originais 101 podem ser ignoradas. Antes da mudança, liste as ordens antigas e o tratamento previsto, depois valide reinício e transição no ambiente demo. Ao encontrar um EA cuja versão não pode ser verificada ou cujo log não explica a lógica de filtragem, pause primeiro as alterações automáticas de gestão e verifique o plano de saída das posições existentes. A aprovação no demo só indica os cenários testados; variações reais de cotação, rejeições do servidor e slippage ainda precisam ser avaliados separadamente.