Como posso verificar se a 'Otimização' ou 'Otimização para frente' está em andamento?

 

Esta opção retorna 'verdadeira' em ambos os casos.

ENUM_MQL_INFO_INTEGER program_OPTIMIZATION;
int OnInit()
  {
   program_OPTIMIZATION=(ENUM_MQL_INFO_INTEGER)MQLInfoInteger(MQL_OPTIMIZATION);
//---
  }
 

Para uma otimização ótima, é melhor escrever seu próprio testador e não ser mais atormentado por estas perguntas excruciantes.

Se você pode escrever um EA funcional, por que você não pode escrever um software de teste?

 
Yuriy Asaulenko:

Para uma otimização ótima, é melhor escrever seu próprio testador e não ser mais atormentado por estas perguntas excruciantes.

Se você pode escrever um EA funcional, por que você não pode escrever um software de teste?


O que você quer dizer com isso?
 
Алексей Тарабанов:

O que você quer dizer com isso?
Sistemas. Minhas sinceras simpatias, mas não posso ajudá-los.
 
Por enquanto, é necessário especificar manualmente a data antes do início da "Otimização Avançada".
   if(program_OPTIMIZATION)
     {
      if(YearMQL4()<=2015 && MonthMQL4()<=5) // Оптимизация ('Оптимизация' начинается в 2015 году)
        {
         // Обрабатываем событие 
        }
      else                                   // Форвард-оптимизация
        {
         // Обрабатываем событие 
        }
     }
 

O testador embutido foi projetado para que se você quiser fazer um clássico volking forward com uma imagem de relatórios em cada estágio, então ao final da otimização back, você tem que fazer a data final da otimização como a data "forward", e para terminar o "intervalo" definir uma nova data, mais recente. Eu crio um horário separado, que eu quero, guardo-o em um arquivo separado e arrasto as datas desejadas de lá para fora em ordem. E eu uso o otimizador automático para adicionar estas três datas ao arquivo ini.

1396310400 1. início do intervalo de otimização para trás 2. início do intervalo para frente

1401580800 1. fim do intervalo de otimização de costas 2. data de início do avanço

1404086400 2.fim do intervalo na corrida para frente

1398902400

1404172800

1406764800

1401580800

1406851200

1409356800

etc.

Ou seja, dividir o volking-forward em duas operações separadas, formalmente não ligadas, e está feito.

Otimização, salvar conjunto, começar sem otimização com novas datas, salvar resultados para frente e fazer tudo de novo.

 
Youri Tarshecki:

O testador interno foi projetado para que, se você quiser fazer um clássico volking forward com uma imagem de relatório a cada passo, então ao final da otimização back, você tem que fazer a data final da otimização uma data "forward" e definir uma nova data, mais recente, para o final do "intervalo".

Ou seja, dividir o wolfing-forward em duas operações separadas, formalmente não ligadas e pronto.

Otimização, salvar conjunto, começar sem otimização com novas datas, salvar resultados para frente e fazer tudo de novo.

Preciso saber por restrições no OnTester() o fim da otimização e o início da otimização futura onde estas restrições devem ser desfeitas.
 
Lilita Bogachkova:
Preciso saber o fim da otimização e o início da otimização antecipada para restrições no OnTester().

Como fazê-lo no OnTester não sou seu conselheiro, porque originalmente tomei outro caminho, assim que descobri que é impossível otimizar variáveis uma a uma, mas apenas por gurt (embora provavelmente seja possível criando uma lista e otimização separadamente, mas não me importo com isso agora).

O único lugar que eu conheço e que eu mudo é o arquivo C:\Program Files\........³config .INI

 
Youri Tarshecki:

Como fazê-lo no OnTester não sou seu conselheiro, porque originalmente tomei outro caminho, assim que descobri que é impossível otimizar variáveis uma a uma, mas apenas por gurt (embora provavelmente seja possível através da criação de uma lista e otimização separadamente, mas agora não estou interessado nela).

O único lugar que eu conheço e que eu mudo é o arquivo C:\Program Files\........³config .INI

Adaptei-me ao testador regular de MT. Mas nele, enquantoOnTester() é impossível obter a "LRCorrelação" do futuro. Então estou tentando descobrir como fazer isso
 
Bogachkova:
Adaptei-me ao testador regular de MT. Mas é impossível obter a "LRCorrelação" de frente nele enquantoOnTester(). Então estou tentando descobrir como fazer isso

O que é "LRCorrelação" e por que você precisa dela? E esclareça - o que é adiante, como você o entende.

 
Youri Tarshecki:

O que é "LRCorrelação" e por que você precisa dela? E esclareça o que você quer dizer com "para frente".

Adiante é o que você deu como exemplo.

Correlação LR- coeficiente de correlação de regressão linear. O gráfico de equilíbrio é uma linha quebrada, que pode ser aproximada por uma linha reta para maior clareza. Para encontrar as coordenadas desta linha reta, é aplicado o método dos mínimos quadrados. A linha reta obtida é chamada de regressão linear e permite estimar os desvios dos pontos de equilíbrio do gráfico em relação à regressão linear. A correlação entre o gráfico de equilíbrio e a regressão linear permite estimar o grau de variabilidade do capital. Quanto menos acentuadas forem as subidas e descidas na curva de equilíbrio, mais próximo de uma se aproxima o valor deste indicador. Quanto mais próximo de zero, mais aleatório é o comércio.

Se o valor 'LRCorrelacionforward' for exibido emOnTester(), você pode ver imediatamente qual gráfico de balanço o forward tem e não precisa procurar por resultados com a curva de balanço.