Terminal MT5 atualizado hoje e a janela "Otimização" não aparece durante o teste - página 4

 
Renat Fatkhullin:

Por que você não disse desde o início que estava executando a genética?

O próprio princípio da busca genética é baseado na aleatoriedade e, portanto, não tem sentido em "continuar o que você começou". Seu trabalho é ser aleatório.

E mesmo assim, o cache é usado. É que sua probabilidade de acertar resultados previamente calculados é muito baixa (você tem uma área de busca de 50 milhões de variantes). Assim, parece começar do início, uma vez que o ponto de partida é aleatório.

Se você ler a ajuda, diz exatamente o contrário. Talvez esteja escrito de forma incorreta? Eu gostaria de entender.

https://www.metatrader5.com/ru/terminal/help/algotrading/optimization_types

  • Se o número total de etapas de otimização exceder 1 000 000 em um sistema de 32 bits ou 100 000 000 em um sistema de 64 bits, o modo de otimização rápida será aplicado automaticamente.
  • Na otimização genética, os resultados intermediários são salvos no cache após o cálculo de cada geração (file_data_platform/tester/cache/*.gen). Assim, o processo de otimização genética pode ser interrompido a qualquer momento. Mesmo que o processo de otimização genética seja interrompido devido a causas externas (por exemplo, uma queda de energia), a otimização continuará automaticamente a partir da última geração calculada no próximo início. O cache de otimização genética é armazenado até que as configurações de otimização sejam alteradas ou até que o processo de otimização esteja completo.
  • Se a otimização for parada normalmente (com o botão "Stop"), todos os passes previamente calculados serão armazenados. Se a otimização for retomada, o processo continuará de onde foi interrompido.
Типы оптимизации - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Типы оптимизации - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
В данном режиме происходит полный перебор всех возможных комбинаций значений входных переменных, выбранных для оптимизации на соответствующей вкладке. Быстрая (генетический алгоритм) В основу данного типа оптимизации заложен генетический алгоритм подбора наилучших значений входных параметров. Данный тип оптимизации значительно быстрее полного...
 
Portanto, está escrito acima que mudamos completamente a maneira como o cache funciona. A documentação mudará com o tempo.

Além disso, mostrei como no cache genético os acertos melhoram drasticamente os resultados de repetição. A partir de 50%.

O objetivo de um testador genético é que ele tem que ser executado várias vezes para que o randomizador possa sair dos extremos locais. Isto é mostrado na imagem acima, onde a quarta corrida encontrou um novo slide.

Você sempre tem que entender a mecânica do processo. Se o espaço de busca de soluções está nos trilhões, então a genética tem que ser muito tentada.
 
Renat Fatkhullin:
Está escrito acima que mudamos completamente a maneira como o cache funciona. Mudaremos a documentação a tempo.

Além disso, mostrei como no cache genético os acertos melhoram drasticamente os resultados de repetição. A partir de 50%.

O objetivo de um testador genético é que ele tem que ser executado várias vezes para que o randomizador possa sair dos extremos locais. Isto é mostrado na imagem acima, onde a quarta corrida encontrou um novo slide.

Você sempre tem que entender a mecânica do processo. Se o espaço de busca de soluções está nos trilhões, então a genética tem que ser muito tentada.

Obrigado pelo trabalho duro!

Eu gostaria de ver estatísticas normais para cada símbolo em testes com várias moedas, pelo menos como um mínimo.

 
Renat Fatkhullin:

Por que você não anexa uma descrição para reprodução?

Você não entende que uma imagem não é uma evidência na ausência completa de uma descrição? Você está em um fórum técnico discutindo questões técnicas.

Eu tentei construir de acordo com suas condições:

  • seu padrão Moving Average.set
  • seu conjunto de configurações para 50 milhões de passes
  • MetaQuotes-Demo server, EURUSD H1, ano passado, modo Preços Abertos com genética
  • genética corrida

Aqui está o resultado: tudo é normal e razoável, o testador funciona, a genética encontra os resultados certos


Você pode ver como a genética chegou às zonas verdes de melhores resultados e se consolidou lá.

O Expert Advisor é uma média móvel padrão.

Realizei 4 otimizações. Os arquivos de log estão em anexo. Tudo isso com a genética.

Fiz 2 em nova construção. 2 sobre construção antiga.

1ª corrida - demorou 3,56 min. em uma nova sem parar do início ao fim.

3ª corrida - com a antiga sem parar do início ao fim demorou 2,15 minutos.

2ª corrida - a nova com uma parada do início ao fim levou 2,25+7,57= 9,82 min.

A 4ª corrida - na antiga com uma parada do início ao fim demorou 1,55+1,17= 2,72 min.

Diga-me por que a nova construção funciona tão mal.

Arquivos anexados:
29_04_2018.zip  43 kb
 
Renat Fatkhullin:
Assim, está escrito acima que mudamos completamente a maneira como o cache funciona. Modificaremos a documentação no devido tempo.

Além disso, mostrei como no cache genético os acertos melhoram drasticamente os resultados de repetição. A partir de 50%.

O objetivo de um testador genético é que ele tem que ser executado várias vezes para que o randomizador possa sair dos extremos locais. Isto é mostrado na imagem acima, onde a quarta corrida encontrou um novo slide.

Você sempre tem que entender a mecânica do processo. Se o espaço de busca de soluções está nos trilhões, então a genética tem que ser muito tentada.

Se você precisar executá-lo várias vezes, por que não implementar tudo isso no algoritmo? E você pode entender a mecânica do processo quando tiver informações suficientes sobre o objeto. Mas aqui o usuário recebe uma caixa preta da qual ele tem apenas uma idéia geral sem conhecer detalhes (tamanho da população, critérios de parada etc.) E, portanto, ele não pode controlar esses parâmetros. Portanto, se o otimizador se agarra aos extremos locais, os parâmetros do algoritmo provavelmente não estão bem definidos.

 
Texnolog:

Advisor é uma média móvel padrão. conjunto anexo


Diga-me por que a nova construção funciona tão mal.

Por favor, responda com precisão à sua pergunta.

 
Alexey Navoykov:

Se você precisa executá-lo várias vezes, por que não implementá-lo tudo no algoritmo? E a mecânica do processo pode ser compreendida quando temos informações suficientes sobre o objeto. Aqui o usuário recebe uma caixa preta da qual ele tem apenas uma idéia geral, sem conhecer detalhes (tamanho da população, critérios de parada, etc.). E, portanto, ele não pode controlar estes parâmetros. Portanto, se o otimizador se agarra aos extremos locais, os parâmetros do algoritmo provavelmente não estão bem definidos.

Porque esta é a essência do método genético: em um espaço de busca infinito produz uma solução rápida em N gerações quando o incremento da função alvo cai abaixo de um certo nível.

Palavra-chave: rápido.

Oalgoritmo genético não garante um resultado absolutamente exato. É para uma estimativa rápida e suja para obter a primeira análise.

Como a genética deve ser usada:

  1. Estabelecer limites amplos de busca em bilhões/trilhões de variantes
  2. Faça a primeira corrida.
  3. Usando a visualização em diferentes planos, incluindo 3D, descubra quais áreas têm resultados decentes
  4. Estreitou a busca, desligando alguns parâmetros (travando ou diminuindo para um número razoável)
  5. Executar uma nova corrida
  6. Então obtivemos mais alguns resultados em comparação com a primeira corrida
  7. Re-estimado com a visualização
  8. Prossiga para o passo 4 até que você esteja satisfeito com os resultados

Não desligue sua cabeça quando vir 10.000 corridas no espaço de busca de trilhões de variantes. Os milagres não acontecem.

A genética deve ser usada de forma ponderada e manual.


Em geral, recomendo que se aprofunde na teoria. Sem ela, eu vejo a genética como uma atitude de "apertar o botão e pronto":

Оптимизация стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Оптимизация стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
Vitaly Muzichenko:

Obrigado por seu árduo trabalho!

Eu gostaria de ver estatísticas normais para cada símbolo no teste de múltiplas moedas, pelo menos como um mínimo

Iniciamos uma grande atualização do testador, reescrevendo-o em partes. Agora estamos ocupados em mudar o esquema de trabalho com dados.

Mudaremos muitas coisas, incluindo a elaboração de relatórios.

 
Renat Fatkhullin:

Estamos ocupados com uma grande atualização de desempenho do testador e estamos redesenhando os modos de carga pesada. Grandes melhorias foram feitas e novos métodos de aceleração serão implementados em breve.

Decidimos mostrar a janela da lista de passes no final da corrida, a fim de não desperdiçar recursos reais na manutenção, reordenação e exibição da lista de passes sempre em mudança.

Houve realmente um enorme desperdício de recursos e lentidão. Especialmente quando estamos falando de centenas de milhares de filas, milhões e dezenas de milhões de passes. Não há nenhum sentido razoável em olhar com seus olhos um monte de dados preliminares.


Estamos realizando a otimização e testes com 100 milhões de passes completos.

É claro que com tais números está fora de questão reordenar e mostrar uma tabela de 2-5-10-50 milhões de valores em tempo real. A única opção é reunir tudo de forma rápida e econômica, classificá-lo finalmente e proporcionar uma navegação a qualquer profundidade.

Tudo isso é ótimo!

Entretanto, favor devolver a guia "Otimização" - é impossível trabalhar sem uma análise operacional! As mesas grandes são lentas - vamos fazer um filtro - mostram os 20 primeiros para cada critério - não é tão intensivo em recursos(?), mas ajudará muito a ver o quadro. E, esses bilhões de passes - quem os faz? São unidades com enormes capacidades - você mesmo está falando sobre a razoabilidade da aplicação da genética, e não há portmanteaus deste tipo lá. Isto é, mais de 10k passes é uma raridade.

Não entendo como parar de otimizar, se eu tiver quadros escritos em arquivo, então após o reinício um novo arquivo será escrito, porque não posso dizer ao consultor especializado que eles continuaram de onde pararam e não precisam criar um novo arquivo para registrar os resultados. E se for esse o caso, não podemos deixar de monitorar os resultados atuais!

Se eu não tiver tanta certeza, você pode criar um gráfico com os resultados da otimização atual para diferentes indicadores que me ajudarão a mudar o gráfico para o necessário e monitorar a situação desta forma.

Pedirei a você que mude o parâmetro "otimização" para o teste de uma passagem após a otimização. Muitas vezes perdi meus dados por causa disso e houve muitas reclamações sobre este ponto.

Quanto aos agentes da rede local - por favor, ensine-lhes a não esfregar o cache e todo o ambiente por um tempo maior - entre as otimizações, o tempo passa para analisar os dados, e não correr imediatamente durante 5 minutos. Agora acontece que assim que eu recomeçar a otimização e iniciar a distribuição do que quer que seja - os agentes começam a trabalhar em 10 minutos. Sim, eu tenho uma internet lenta para carregar, mas é possível dar tanto? Por que não posso dar a cada computador local (um agente neste PC) e deixá-lo dividir tudo entre os agentes!

 
Renat Fatkhullin:

Faça a pergunta com precisão, por favor.

Por que quebrar um bom e velho algoritmo e substituí-lo por um novo que seja 3 vezes mais lento?

Se você precisar introduzir uma nova abordagem ao método genético, adicione um novo item à guia "otimização",

Criar uma descrição e técnicas para trabalhar com ela.

Razão: