Otimize um EA e obtenha o melhor dos otimizados. - página 23

 
+1 Levou o restante para otimizar
Arquivos anexados:
 
George Merts:

Relevante em qualquer caso.

Mesmo se você fizer várias otimizações ao mesmo tempo - isto permitirá uma melhor seleção do melhor conjunto de parâmetros de entrada - simplesmente fundindo os arquivos XML, e processando pelo script de avaliação. Só pode haver problemas se o roteiro encontrar erros, como da última vez, quando eu não marquei todas as variáveis no arquivo SET-file. O roteiro me diria "arquivo inválido", mas eu não conseguia descobrir o que estava errado.

Para que sua otimização seja levada em conta. Agora vou processá-la, atualizar a versão no Yandex e colocar os próximos especialistas "desistentes" da Liga. Se for interessante - eu posso escrever "pelo que me expulsaram". :)

Em geral, eu pensava que a genética selecionaria sempre os mesmos resultados, não é mesmo?

As estatísticas de relegação podem ser coletadas, talvez estes dados levem a melhorias no assessor, se a abordagem mudar ...

 
Aleksey Vyazmikin:

Geralmente eu pensava que a genética tiraria sempre os mesmos resultados, não é este o caso?

As estatísticas de partida podem ser coletadas, talvez seguir esses dados para melhorar a EA, se a abordagem mudar...

Genética - não pode dar os mesmos resultados. Somente os mais próximos. E isso se a função for "equilibrada" o suficiente.

Temos um espaço de um bilhão de opções de cobmin. Precisamos selecionar os melhores.

Primeiro - tomamos uma variante aleatória de 512. Esta é a primeira geração.

Então formamos a próxima geração - fazemos mudanças aleatórias de parâmetros - mutações em cada cobminação. Obtemos 1024 indivíduos. Selecionamos os 512 com o maior valor de função de adequação (função adequação - esta é apenas a configuração personalizada nas configurações de otimização). E o ciclo de mutação se repete.

Os ciclos continuam até que grandes valores da função fitness parem de aparecer.

Portanto, embora o resultado (um valor) possa ser o mesmo em diferentes otimizações, as próprias gerações, e os "caminhos para encontrar" este valor - serão diferentes. E estes caminhos de encontro - são mostrados em um arquivo XML. Meu roteiro de estimativa percorre este arquivo, e conta a variação dos valores da função de aptidão para o período posterior e posterior. Em seguida é selecionado um valor de compromisso da função de adequação, de modo que seja o maior possível, mas a variação seja a menor possível (mas na segunda ordem de grandeza).

Se pegarmos dois arquivos de otimização XML diferentes, o melhor valor neles pode ser o mesmo. Mas a variação - será necessariamente diferente. E isto - afetará a escolha, pode ser mais razoável tomar um valor ligeiramente menor de função de aptidão, no entanto, de tal forma que a variação em torno deste valor seja muito menor.

 
Aleksey Vyazmikin:
+1 Levou o resto para otimizar.

Você tem 24 códigos vermelhos, eu vou processar GBPCHF_EMAFlatRTS, serão 25. Publique o próximo arquivo, serão 26. Mas eu tenho que sair agora. Estarei de volta em cerca de quatro horas, colocarei as próximas pessoas de fora.


Alexei, se você quiser usar códigos vermelhos - será mais razoável compilar uma versão separada da "liga" - que será imediatamente "carregada" com seus códigos selecionados para o tempo de ação selecionado. Para que nas configurações você só tenha que escrever o risco desejado. Todos os sistemas selecionados - funcionarão independentemente, como se fossem múltiplas cópias da Liga, cada um em sua própria Magic (é assim que os EAs funcionam em uma conta de demonstração comum, não há 270 EAs, mas apenas cinco, mas eles funcionam com todos os 270 TS).

Para os interessados, a Expert Advisor Trading Systems League - disponível para download na YandexDisk

EALeague
EALeague
  • yadi.sk
View and download from Yandex.Disk
 
GBPJPY_ChnTrendRTS
Arquivos anexados:
 
George Merts:

Primeiro - tomamos uma escolha aleatória de 512. Esta é a primeira geração.

Estamos tomando ou o otimizador? Apenas algo que eu duvido sobre a aleatoriedade, ou seja, o que gera essa aleatoriedade, o algoritmo é conhecido? Está o tempo limitado?


George Merts:

Então formamos a próxima geração - em cada paralelepípedo fazemos mudanças aleatórias nos parâmetros - mutações. Obtemos 1024 indivíduos. Selecionamos os 512 com o maior valor de função de adequação (função de adequação é apenas a configuração personalizada nas configurações de otimização). E o ciclo de mutação é repetido.

E onde posso ver exemplos de tal função compilando-se a si mesma?

Ou é apenas um único número baseado em um cálculo personalizado que deve tender a um valor maior ou menor e, portanto, se houver uma dinâmica, então a genética goteja nessa mesma direção?

George Merts:

Você tem 24 regcodes, eu processarei GBPCHF_EMAFlatRTS, serão 25. Você postará o próximo arquivo, serão 26. Mas eu tenho que ir agora. Voltarei em quatro horas, postarei os próximos "outsiders".


Alexei, se você quiser usar códigos de leitura - será mais razoável compilar uma versão separada da "Liga" - que será imediatamente "carregada" com seus códigos selecionados para o tempo de ação selecionado. Para que nas configurações você só tenha que escrever o risco desejado. Todos os sistemas selecionados - trabalharão independentemente, como se fossem múltiplas cópias da Liga, cada um em sua própria Magic (assim, trabalhem os especialistas na conta de demonstração comum, não há 270 Advisors, mas apenas cinco, mas eles trabalham todos os 270 TS).

Hmmm, eu nem sei como selecioná-los... o que há para otimizar então, ou apenas um valor de "risco"?

 

Certo. Serve. Está tudo bem, tudo processado, embutido na Liga.

Tenho uma idéia para modificar os EAs para otimização, para que eu possa ver imediatamente dos arquivos XML, em que símbolo eles foram executados, e em que período de avanço e retrocesso. Tratarei disso no fim de semana.

Por enquanto, tenho que escrever mais algumas instruções para os novatos.

Aleksey Vyazmikin:

Vencemos o batedor ou o otimizador? Eu só tenho dúvidas sobre a aleatoriedade, ou seja, o que gera essa aleatoriedade e o algoritmo é conhecido? É baseado no tempo?

O otimizador, é claro. Ele faz otimização genética.

E até onde eu sei e vejo - os conjuntos de parâmetros iniciais - são gerados puramente ao acaso, muito provavelmente usando uma instrução do processador que dá números aleatórios. O ideal seria usar uma instrução do processador RDRAND, produzindo um número aleatório que atenda a muitos padrões especiais. Mas, é claro, números aleatórios podem na verdade ser pseudo-aleatórios - isso não é muito pior - não precisamos de criptografia robusta, precisamos de uma "semente" uniforme do campo de valor.

 
Aleksey Vyazmikin:

E onde posso ver exemplos de uma função auto-compilada como esta?

Ou é apenas um único número baseado nos resultados de um cálculo personalizado, que deve tender para um valor maior ou menor e, portanto, se houver uma dinâmica, então a genética goteja nessa mesma direção?

Sim, isso mesmo, a função fitness é o resultado da OnTester(), que caracteriza a passagem. No caso mais simples, é simplesmente o valor do depósito no final do passe. O otimista seleciona os cobmins em que esta função será máxima. E novas gerações são formadas cada vez mais próximas do máximo.

Eu uso uma função inteligente multi-fator que reflete muito bem a qualidade do comércio, uma vez eu recebi este código por uma taxa, mas agora eu não me arrependo.

Lá, o algoritmo genético em geral tem muitos truques, houve até mesmo um artigo sobre algoritmos genéticos em algum lugar, e muito se falou sobre isso.

 
Aleksey Vyazmikin:

Hmmm, eu nem sei como selecioná-los... o que existe para otimizar depois, ou existe apenas um valor de "risco"?

Você não precisa otimizar nada, tudo já está otimizado antes de você. O que você está fazendo agora é otimizar os sistemas externos para que eles se tornem os favoritos em outros conjuntos de parâmetros. Coloque-os na demonstração, e veja como eles negociam. Alguns deles terão a sorte de negociar nas posições abertas. Veremos dentro de um mês. Nessa época, os antigos favoritos terão disparado um tiro de teste e serão retirados do comércio, e novos sistemas, daqueles que estão sendo otimizados, tomarão seu lugar.

Pegamos qualquer sistema favorito, definimos o valor do risco nele - e você pode negociar.

Mas "como selecionar"... Esta é minha pergunta principal. Se eu "apenas moer" - então visualmente e pelo parâmetro "qualidade". Aqueles sistemas que eu escolhi - eu os coloquei em uma conta real, a senha de investimento que você tem. Mas, eles foram escolhidos intuitivamente. Infelizmente, eu ainda não desenvolvi critérios claros.

Portanto - veja os gráficos, escolha o melhor - essa é a sua escolha por enquanto. Há claramente muitos por onde escolher.

 

Sistemas que exigem uma otimização excessiva:

Dois mostraram uma fila SL que era muito longa, o resto excedeu a folga permitida.

Razão: