ajcmrj: O Testador de Estratégias não retorna o valor correto de `OnTester` ao executar passagens consecutivas ao longo de vários dias. Passei dias tentando descobrir se o erro estava no meu código, mas não está. A plataforma exibe um valor na tabela com base no critério de máximo definido pelo usuário, mas esse não é o valor real que deveria aparecer ali; ela seleciona um valor de algum ponto intermediário da passagem, em vez do valor final. O Testador de Estratégias retorna valores incorretos ao utilizar critérios definidos pelo usuário. Aqui está o log de uma única execução de teste utilizando os mesmos parâmetros de passagem: Seria ótimo se houvesse uma opção para um "valor mínimo garantido" nos testes — mas não existe, então temos que desenvolver algo simples por conta própria e lidar com as dores de cabeça resultantes. O valor correto deveria ser 64, mas o sistema retorna 233; esse valor de 233 realmente ocorreu, mas durante uma execução de teste dentro de um período de dois meses. Ele simplesmente ignorou todas as atualizações do meu valor. Verifiquei absolutamente tudo — metas atualizadas, agentes atualizados, logs dos agentes — e não encontrei nada.
Opa! Para conseguirmos investigar isso de forma útil, precisaríamos poder reproduzir o comportamento. Com os trechos de código isolados que você postou, não é possível.
O ideal seria você preparar um exemplo mínimo reproduzível: um EA simples e completo (pode ser uma estratégia qualquer, bem básica) que contenha só o necessário para o problema aparecer. Se esse código, ao ser compilado e rodado, mostrar a divergência entre o valor do OnTester e o que aparece na tabela de otimização, aí temos algo concreto para analisar - e, se realmente for um problema da plataforma, um caso sólido para reportar à MetaQuotes.
Junto com o código, seria importante informar:
- Período exato usado na otimização e no teste único (precisam ser idênticos para a comparação fazer sentido);
- Modelo de geração de ticks em cada caso;
- Os parâmetros da passagem específica que está comparando;
- Build do terminal.
Uma observação sobre o log que você postou: o teste único mostra MAXMIN FINAL = $64.00 e logo em seguida OnTester result 64 - ou seja, nesse teste o OnTester retornou corretamente. Isso sugere que a divergência pode estar na comparação entre execuções feitas com configurações diferentes, e não no OnTester em si. Você mesmo menciona que o valor 233 ocorreu "durante uma execução de teste dentro de um período de dois meses" - se os períodos forem diferentes, os valores naturalmente serão diferentes. O teste decisivo seria rodar um teste único com exatamente os mesmos parâmetros, período e modelo de ticks.
Opa! Para conseguirmos investigar isso de forma útil, precisaríamos poder reproduzir o comportamento. Com os trechos de código isolados que você postou, não é possível.
O ideal seria você preparar um exemplo mínimo reproduzível: um EA simples e completo (pode ser uma estratégia qualquer, bem básica) que contenha só o necessário para o problema aparecer. Se esse código, ao ser compilado e rodado, mostrar a divergência entre o valor do OnTester e o que aparece na tabela de otimização, aí temos algo concreto para analisar - e, se realmente for um problema da plataforma, um caso sólido para reportar à MetaQuotes.
Junto com o código, seria importante informar:
- Período exato usado na otimização e no teste único (precisam ser idênticos para a comparação fazer sentido);
- Modelo de geração de ticks em cada caso;
- Os parâmetros da passagem específica que está comparando;
- Build do terminal.
Uma observação sobre o log que você postou: o teste único mostra MAXMIN FINAL = $64.00 e logo em seguida OnTester result 64 - ou seja, nesse teste o OnTester retornou corretamente. Isso sugere que a divergência pode estar na comparação entre execuções feitas com configurações diferentes, e não no OnTester em si. Você mesmo menciona que o valor 233 ocorreu "durante uma execução de teste dentro de um período de dois meses" - se os períodos forem diferentes, os valores naturalmente serão diferentes. O teste decisivo seria rodar um teste único com exatamente os mesmos parâmetros, período e modelo de ticks.
Salve Vinicius! Bom saber ate que vc é da Lingua portuguesa! Rapaz eu vou tentar muito recriar um ea mais simples pra tentar colocar o cenario similar. Mas depois do meu post eu fiz diversas coisas e realemnet achei o culpado. e com certeza nao é meu codigo. Eu tenho um ryzen 9 5950x, minha maquina na qual programo e testos os robos e ponho eles em testes em massa criterio do usuario. quando eu desativo todos os agentes e deixo apenas os cores da minha maquina local! todos os passes sao integros. respondem certinho ao codigo, e o ontester retorna perfeito! É so eu usar minha maquinas locais, da minha farm local, nao uso a nuvem, comecam a vir resultados divergentes. resultados acima. nao sei explicar é como se o retorno do ontester dessas maquinas parassem no meio do caminho ao me entregar. um exemplo: estou fazendo tiragem de julho e agosto. parece quena minha maquina local o ontester retorna o valor do ultimo dia, ao passo que nas maquinas da farm, eles retornam o ontester de sei la 2 de agosto, ficitio. essa imagem é da maquina local, todos os resultados estao certos, abaixo dew 100, quando eu uso o da minha farm comecam vir os valores maiores que sao mentira, eram valores do meio do caminho. os passes de 64 estao certos. mas os passes acima de 100reais. estao errados. sao os provenientes dos agentes das outras maquinas, entao sim ha um bug do ontester que sao retornados das maquinas dos agentes locais, e provavelmente das nuvens, que eu nao uso. eu poderia ate fazer um video sobre isso e tentar por no YT pra vc ver. e com certeza nao é do meu codigo, se fosse minha maquina local daria valores errados tb pelos parametros. ja atualizei meus agentes pra versao de build mais nova e mesma coisa. limpei tudo, cache, log, history. sincronizei e nada. reinstalei os agentes na maquina da farm do zero e nada. por mim a gente ate faria uma live no discord pra mostra kkk
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
O Testador de Estratégias não retorna o valor correto de `OnTester` ao executar passagens consecutivas ao longo de vários dias. Passei dias tentando descobrir se o erro estava no meu código, mas não está. A plataforma exibe um valor na tabela com base no critério de máximo definido pelo usuário, mas esse não é o valor real que deveria aparecer ali; ela seleciona um valor de algum ponto intermediário da passagem, em vez do valor final. O Testador de Estratégias retorna valores incorretos ao utilizar critérios definidos pelo usuário. Aqui está o log de uma única execução de teste utilizando os mesmos parâmetros de passagem: Seria ótimo se houvesse uma opção para um "valor mínimo garantido" nos testes — mas não existe, então temos que desenvolver algo simples por conta própria e lidar com as dores de cabeça resultantes. O valor correto deveria ser 64, mas o sistema retorna 233; esse valor de 233 realmente ocorreu, mas durante uma execução de teste dentro de um período de dois meses. Ele simplesmente ignorou todas as atualizações do meu valor. Verifiquei absolutamente tudo — metas atualizadas, agentes atualizados, logs dos agentes — e não encontrei nada.
⚠️ Editado por moderador (https://www.mql5.com/pt/forum/339131):