Discussão do artigo "Redes neurais em trading: Otimização de LSTM para fins de previsão de séries temporais multidimensionais (Conclusão)" - página 2

 
Vladimir Sanin #:

Então, ele ainda precisa ser colocado no gráfico e o teste deve ser executado com otimização? Não estamos falando da versão on-line, certo? Não está claro qual intervalo de datas deve ser usado para o estudo, certo? Executei o teste com visualização e vejo os dados mudando no canto superior esquerdo, mas o gráfico permanece no lugar. As porcentagens nos dados estão aumentando lentamente ao mesmo tempo e da mesma forma, mas o gráfico em si permanece parado.


É isso mesmo. É assim que deve ser.

 

Gostaria de fazer uma pergunta ao autor: é assim que a pesquisa deve funcionar?



 
Andrey Yankin #:

Gostaria de fazer uma pergunta ao autor: é assim que a pesquisa deve funcionar?



Não sou o autor, mas vou responder. Deveria. Mas não faz sentido colocá-lo no gráfico. Ele deve ser perseguido no testador com a otimização (completa) do parâmetro do agente. Assim, é formado um arquivo de trajetórias, que será usado para treinamento.

 
Andrey Yankin #:

É isso mesmo. É assim que deve ser.

Então, como exatamente? Estudando apenas no gráfico? Ou no gráfico e no testador ao mesmo tempo? E no testador com otimização ou em um único teste? E se for com otimização, qual parâmetro deve ser otimizado?

 
Andrey Yankin #:

O Study apenas o coloca no gráfico. Depois de instalado, ele lê os arquivos de dados e começa a otimizar. Ele exibe o progresso e os resultados no gráfico no canto superior esquerdo.

Em um período de 15 minutos, 3.000 negociações em meio ano.... Acontece que quase toda segunda vela abre uma negociação, e tudo isso em Sell. Você pode ter certeza disso executando um único teste com visualização ou configurando-o em uma conta de demonstração. As negociações são abertas e fechadas no próximo candle.

Não deveria ser assim? Como as negociações devem ser abertas? Somente na venda ou também na compra? Como os parâmetros do indicador afetam isso?

 
Com relação ao parâmetro de entrada MinProfit (padrão =10) na Pesquisa. Ele corta as sessões perdedoras? Entendi corretamente que ele pode ser definido como menos e não será pior?
 

Percebi que, durante a otimização paralela (vários agentes locais), o arquivo DACGLSTM.bd aumenta de tamanho: uma passagem grava cerca de 250 MB, a próxima grava cerca de 200 MB e, em seguida, 250 MB novamente. Descobriu-se que em SaveTotalBase() o arquivo é aberto desta forma:

int handle = FileOpen(FileName + ".bd",
FILE_WRITE | FILE_BIN | FILE_COMMON); // sobrescreve!

O último agente a terminar apaga tudo o que os anteriores salvaram.
Para fazer com que as trajetórias se acumulem, sugiro substituir por:

int handle = FileOpen(FileName + ".bd", FILE_READ | FILE_WRITE | FILE_BIN | FILE_COMMON);
FileSeek(handle, 0, SEEK_END); // adicione ao final do arquivo

O limite é deixado via MaxReplayBuffer, portanto, ao salvar, tudo o que for desnecessário será cortado de qualquer forma.

Perguntas:

  1. Há alguma armadilha nesse "modo de anexação" no MT5?

  2. É melhor manter um .bd separado para cada agente e depois mesclar?

 
Vladimir Sanin #:

Perguntas:

  1. Há alguma armadilha nesse "modo de anexação" no MT5?

  2. Seria melhor manter um .bd separado para cada agente e depois mesclar?

Você pode fazer o item 2, mas a solução padrão é enviar dados dos agentes para o terminal em quadros e salvá-los em um único arquivo comum pelo terminal.

O item 1 pode "falhar" a qualquer momento quando vários agentes tentarem gravar simultaneamente - um deles gravará, mas os outros falharão com erros.

 

|
Ran Research 1 mês de 5 minutos, obteve 300 MB de DACGLSTM.bd. Executou o estudo. As taxas de erro são assustadoras. Ou isso é normal para a primeira execução?
 
Alguém mais está lidando com esse neurônio? tg:@vigit