Definiu uma data especifica de inicio e fim para os testes e para as otimizações?
É que se a resposta for não, e simplesmente selecionou algo como "Último mês", então vai incluir dados actuals (que estão sempre em atualização), especialmente se os testes e as otimizações forem feitas em dias diferentes.
Definiu uma data especifica de inicio e fim para os testes e para as otimizações?
É que se a resposta for não, e simplesmente selecionou algo como "Último mês", então vai incluir dados actuals (que estão sempre em atualização), especialmente se os testes e as otimizações forem feitas em dias diferentes.
Isso já me aconteceu antes e foi por causa dum erro no meu código na inicialização de variáveis globais.
Não quero dizer com isto, que seja o seu caso, mas pode ser uma falha no código do EA.
Isso já me aconteceu antes e foi por causa dum erro no meu código na inicialização de variáveis globais.
Não quero dizer com isto, que seja o seu caso, mas pode ser uma falha no código do EA.
Eu estou com um problema assim também, revisei todas as variaveis para se elas estavam inicializadas e não encontrei nenhuma faltando inicialização. Nos includes do Trade.mqh poderia ter algo que precisaria me preocupar? A CTrade eu tenho a parte dela declarada globalmente e a inicialização - numero magico e async mode no OnInit -, mas não mudou nada. Me parece as vezes que pode ser por falta de memoria que a maquina durante o otimizador fica extremamente lenta.
Nessa saga ai inclusive tambem tentei colocar teste pra ver se o ativo estava sincronizado, o tester executar cada tick simulado (propriedade tester_everytick_calculate) e retirar a otimizacao do compilador. Mas nada pareceu diminuir a divergência entre teste único e otimização... Minha região global ta assim:#property tester_everytick_calculate #include <Trade/Trade.mqh> #include <Trade/SymbolInfo.mqh> input string InpHorarioEntrada = "10:01"; // Horario de Inicio das Ordens input string InpHorarioSaida = "16:53"; // Horario de Encerramento das Posicoes (a partir do horario daqui) input uint InpEncerrarEntradas = 50; // N minutos para Cancelar Ordens (zero eh exatamente no horario da posicao, 50 eh 50 minutos antes da posicao) input double InpCaixa = 10000; // Capital a ser usado nas operacoes (nao validado) input double InpLote = -1; // Lote a ser utilizado de divisor input double InpShift = 0.0; // Deslocamento a aplicar no preço de compra input double InpPercentageEntry = 2.0; // Compra N% abaixo do preço anterior (N=20=20%) input double InpStopPercentage = 10; // Stop N% sob o valor inicial da posição (N=12=12%) input long InpEA = 0x1473; // Código único datetime marketOpen = 0; datetime marketClosingOrdens = 0; datetime marketClosingPositions = 0; double lote = -1; double entryp = -1; double stopp = -1; double volmin = -1; double ticksize = -1; datetime current = 0; double caixa_atual = -1; double caixa_inicial = -1; const datetime day = PeriodSeconds(PERIOD_D1); bool primeiro_negocio_dia = false; struct data { ulong ticket; datetime tempo; double preco; double stop; double lote; }; CTrade htrade;
Dessas variaveis a unica que so tem chamadas (e não inicialização) seria a CTrade, mas eu converti ela pra ponteiro em uma versão de teste e mesmo fazendo new e delete não mudou nada na divergencia então voltei. A struct data é usada em contexto local no qual só é inicializada via declaração e é passada como referencia (&). Queria ideias do que poderia ver mais....
Eu estou com um problema assim também, revisei todas as variaveis para se elas estavam inicializadas e não encontrei nenhuma faltando inicialização. Nos includes do Trade.mqh poderia ter algo que precisaria me preocupar? A CTrade eu tenho a parte dela declarada globalmente e a inicialização - numero magico e async mode no OnInit -, mas não mudou nada. Me parece as vezes que pode ser por falta de memoria que a maquina durante o otimizador fica extremamente lenta.
Nessa saga ai inclusive tambem tentei colocar teste pra ver se o ativo estava sincronizado, o tester executar cada tick simulado (propriedade tester_everytick_calculate) e retirar a otimizacao do compilador. Mas nada pareceu diminuir a divergência entre teste único e otimização... Minha região global ta assim:Dessas variaveis a unica que so tem chamadas (e não inicialização) seria a CTrade, mas eu converti ela pra ponteiro em uma versão de teste e mesmo fazendo new e delete não mudou nada na divergencia então voltei. A struct data é usada em contexto local no qual só é inicializada via declaração e é passada como referencia (&). Queria ideias do que poderia ver mais....

- 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
Boa tarde, ao realizar uma otimização de todos os ativos selecionados na tabela de visualização do mercado, os resultados da otimização divergem do backtest (ambos mesmas configurações e parâmetros), como corrigir isso?