XAUXXDiário
← Voltar ao diário

EA de ouro no MT4 sem logs no fim de semana: travou? Primeiro distinga cotações e eventos temporizados

OnTick depende de novas cotações do símbolo do gráfico; OnTimer exige assinatura pelo programa. Investigue pela entrada de eventos, local dos logs e registros de reinicialização, evitando concluir falha apenas pela ausência de saída com mercado fechado.

Thomas · Atualizado 2026-11-14

Autor: Thomas|Prática em MT4|14 de novembro de 2026

Resumo: Ao abrir o terminal no fim de semana, a interface do EA continua presente, mas não há novos logs por muito tempo; não se pode julgar apenas por esse fenômeno que o programa travou. A investigação deve primeiro esclarecer por qual evento o programa é acionado, se ele realmente imprimiria logs nessa entrada, e então verificar o estado do terminal. Este artigo não testa o programa com ordens reais, nem trata fluxogramas como prova de que qualquer EA passou em testes.

Sem novas cotações, o evento de cotação pode não ocorrer

A documentação oficial MQL4 da MetaQuotes explica que o evento NewTick correspondente só é gerado e a função de tratamento OnTick corretamente declarada só é chamada quando o símbolo do gráfico ao qual o EA está anexado recebe uma nova cotação. Se o programa colocar a verificação e os logs nessa entrada, em períodos sem novas cotações pode não haver novos registros de execução.

Isso não significa que todo EA deva esperar por cotações. O programa também pode usar entradas como temporizador ou eventos de gráfico. Portanto, não se deve ver "fim de semana" e explicar todo silêncio de forma genérica, muito menos tomar o fenômeno de outro símbolo ainda sendo atualizado como evidência de que o gráfico atual de ouro necessariamente recebe cotações.

Primeiro identifique qual evento o programa aguarda

![Diagrama original do fluxo de entradas de eventos de EA](/media/141800ab-1111-4444-8888-123456789abc.png)

A imagem é um diagrama didático original de fluxo, não representa cotações reais e não exibe conta de negociação real. O primeiro caminho depende de novas cotações do símbolo do gráfico; o segundo depende de o programa assinar com sucesso o temporizador. Eventos temporizados podem acionar a lógica de verificação, mas não equivalem a que o mercado atual possa executar negociações; o programa ainda deve verificar as condições de negociação e a validade dos dados.

A recomendação oficial é assinar o temporizador na inicialização e cancelar na desinstalação. Apenas escrever a função OnTimer sem assinatura não indica que ela será executada periodicamente. O nome da função, os parâmetros e o tipo de retorno também devem atender aos requisitos de tratamento de eventos; qualquer erro de ortografia pode fazer com que a entrada esperada não seja chamada.

Como o usuário comum deve investigar passo a passo

Primeiro verifique a conta, o servidor, o nome do símbolo do gráfico e o estado atual da conexão, confirmando que está olhando para o terminal correto. Registre o horário da última cotação e o horário de negociação da plataforma, sem usar o relógio do computador no lugar do horário de cotações do servidor. O fechamento regular de fim de semana também não significa que o calendário de negociação de outros produtos seja exatamente igual; deve-se consultar os comunicados da plataforma específica.

Em seguida, consulte logs relacionados como Experts e Journal, salvando os últimos registros de inicialização, desinstalação ou erro. Atenção aos filtros de log, à data e se outro terminal foi consultado. Se o próprio EA só imprime quando ocorrem condições de negociação, a ausência de novos registros pode significar apenas que as condições de impressão não foram atendidas, o que não prova que o programa nunca foi executado.

Depois, verifique se a descrição do EA inclui verificação temporizada, saída de heartbeat ou mecanismo de manutenção de fim de semana. Sem código-fonte, deve-se entregar versão, parâmetros, símbolo do gráfico, horário da última cotação e logs ao fornecedor para conferência, sem presumir que todos os produtos usam a mesma estrutura de eventos.

Com código-fonte, o que verificar primeiro

Em ambiente de simulação, verifique as declarações e assinaturas necessárias das entradas OnInit, OnTick, OnTimer etc., e use logs de diagnóstico com frequência moderada para confirmar o caminho real. Os logs podem registrar tipo de evento, símbolo e horário dos dados, evitando escrever apenas "normal" sem contexto verificável. Não inclua senhas de conta ou outras credenciais na saída de diagnóstico.

Execução do terminal, carregamento do gráfico, acionamento de eventos e execução de negociações são camadas diferentes. O temporizador continuar emitindo não prova que as cotações estão atualizadas, nem que a ordem necessariamente poderá ser enviada. Quando o evento de cotação não é acionado, menos ainda se deve relaxar permissões de negociação ou reenviar ordens repetidamente para verificar se o programa está vivo.

Por que alternar repetidamente o período pode atrapalhar a investigação

A documentação oficial explica que mudanças no símbolo ou período do gráfico e nos parâmetros de entrada envolvem desinstalação e reinicialização. Alternar repetidamente pode fazer o problema original ser encoberto por um novo processo de inicialização e também pode acionar o recarregamento de estado do programa. Deve-se primeiro salvar logs e parâmetros e depois verificar em ambiente seguro conforme a documentação, em vez de reanexar o EA continuamente para observar se ele às vezes se recupera.

Diferentes EAs implementam de modo distinto a recuperação de posições, a persistência de variáveis e a proteção contra ordens duplicadas. Este artigo não garante que o recarregamento seja seguro e não recomenda desinstalar ou reiniciar às cegas quando houver exposição real. Qualquer operação de manutenção deve primeiro esclarecer quem gerencia as posições.

Como saber que a investigação terminou

Se já foi confirmado que o símbolo atual não tem novas cotações, que a lógica está apenas na entrada de cotações e que não há outras evidências de erro, pode-se registrar como aguardando mercado, em vez de declarar o programa corrigido. Se a entrada temporizada deveria estar em execução mas continua sem saída, continue verificando assinatura, resultado da inicialização e erros do programa; não se pode explicar tudo pelo fechamento do mercado.

Após a retomada das cotações, também se deve primeiro conferir carimbos de tempo e estado, e então confirmar que o programa processa os novos eventos conforme esperado. A retomada de eventos não prova que a estratégia de negociação tem vantagem de retorno; as ordens ainda enfrentam riscos de spread, slippage e execução. O objetivo da investigação é descobrir em qual camada o programa realmente parou, e não obter respostas por meio de risco em conta real.

原创流程教学示意,非真实行情,不代表任何EA已通过测试。
原创流程教学示意,非真实行情,不代表任何EA已通过测试。
Aviso de risco: a negociação com alavancagem pode causar perdas substanciais. O conteúdo é para pesquisa e educação, sem garantias de retorno. O desempenho passado não prevê resultados futuros.
WECHAT

Connect with Thomas

Gold research · Trading reviews · MT4 discussions

WeChat ID:xauxx666
Open QR image

Scan with WeChat to add. On mobile, open and save the image, then select it from your album in WeChat Scan.

Thomas’s WeChat QR code, ID xauxx666