Discussão do artigo "Redes neurais de maneira fácil (Parte 50): Soft Actor-Critic (otimização do modelo)"
A imagem também pode ser simplesmente arrastada para o texto ou colada com Ctrl+V
A pesquisa não consegue obter nenhuma transação positiva. Não há arquivos no diretório de dados. O arquivo SoftAC.bd na pasta de dados compartilhados parece estar vazio (12 bytes). O estudo não está aderindo ao gráfico. Você pode me dizer o que fazer?
1. a diferença de negociações positivas nas primeiras passagens da pesquisa é bastante natural, pois são usadas redes absolutamente aleatórias. E as negociações serão igualmente aleatórias. Ao iniciar o Expert Advisor, defina o MinProfit como o mais negativo possível. Em seguida, o arquivo SoftAC.bd será preenchido com exemplos para o treinamento inicial do modelo.
2. Há uma verificação no arquivo Study. Ela não funciona na ausência de exemplos no SoftAC.bd. Ele não tem dados para o treinamento do modelo.
Obrigado, isso ajudou. Os pontos verdes começaram a aparecer. Eu não sabia que o MinProfit poderia ser definido em um intervalo negativo. Mas há mais uma pergunta. Tenho que excluir o primeiro banco de dados manualmente? E qual arquivo?
Todo o banco de dados de exemplo está em SoftAC.bd. Excluí o primeiro manualmente. Mas há uma constante MaxReplayBuffer 500 no Expert Advisor, que limita o tamanho do banco de dados de exemplos a 500 trajetórias. Se quiser, você pode alterar e recompilar os arquivos. Isso permite que você mantenha apenas as últimas 500 trajetórias no banco de dados de exemplos.
Todo o banco de dados de exemplo está em SoftAC.bd. Excluí o primeiro manualmente. Mas o Expert Advisor tem uma constante MaxReplayBuffer 500, que limita o tamanho do banco de dados de exemplos a 500 trajetórias. Se quiser, você pode alterar e recompilar os arquivos. Isso permite que você mantenha apenas as últimas 500 trajetórias no banco de dados de exemplos.
Mais uma vez, obrigado.
Dmitry, ao preencher o banco de dados de exemplos e adicionar novos exemplos, os exemplos mais antigos são excluídos ou são excluídos acidentalmente? Ou é necessário ter um banco de dados de exemplos para todo o número de negociações, levando em conta as adições no treinamento, um banco de dados de 1.000 trajetórias?
E está escrito que você fez o teste com o Expert Advisor Test.mqh (após 500.000 iterações de treinamento) 10 vezes, se entendi corretamente. E então você disse que fez a coleta - treinamento - teste mais 15 vezes (ciclos). E você obteve um modelo funcional. Então, não entendi: você executou o Expert Advisor Test.mqh 10 vezes em cada estágio do ciclo ou não? O problema que tenho é que, se eu fizer isso, terei mais exemplos negativos na base e o Expert Advisor eventualmente começará a negociar no negativo.
Digamos que eu tenha coletado uma base de 200 trajetórias. Eu a treinei por 100.000 iterações. Em seguida, adicionei 10 passagens do teste e o Research.mqh adicionou 10 a 15 novos exemplos ao banco de dados. Defino o limite do MinProfit, por exemplo, -3000.
Faço o próximo treinamento (100.000 iterações). Novamente, adiciono 10 passagens de teste e 10-15 do Research.mqh. Defino o MinProfit, por exemplo, como -2500.
Treino novamente (100.000 iterações). Novamente 10 testes e 10-15 exemplos de Research.mqh. MinProfit=-2000.
E assim por diante. Estou entendendo? O que me confunde é o fato de que o teste geralmente dá passes negativos muito grandes com -7000 ou até -9000. E haverá muitos deles na base. A rede não foi treinada para negociar no negativo de propósito?
E o que fazer se os testes derem um resultado pior que o anterior? Devo alterar o MinProfit para o lado negativo? E o que fazer se o Research.mqh não conseguir encontrar e adicionar nada ao banco de dados para 100 passagens com um limite especificado (por exemplo, MinProfit=-500) ?
As mais antigas são excluídas. Ele é organizado de acordo com o princípio FIFO - primeiro a entrar, primeiro a sair.
E aqui está escrito que você fez o teste com o Expert Advisor Test.mqh (após 500.000 iterações de treinamento) 10 vezes, se entendi corretamente. E então você disse que fez a coleta - treinamento - teste mais 15 vezes (ciclos). E você obteve um modelo funcional. Então, não entendi: você executou o Expert Advisor Test.mqh 10 vezes em cada estágio do ciclo ou não? O problema que tenho é que, se eu fizer isso, obtenho mais exemplos negativos na base e o Expert Advisor acaba começando a negociar no negativo.
Condicionalmente, faço 10 execuções únicas no testador de estratégia para estimar os limites de dispersão dos resultados do modelo. E escolho o quantil superior para selecionar as melhores trajetórias durante a coleta subsequente de trajetórias no modo de otimização.
- 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
Novo artigo Redes neurais de maneira fácil (Parte 50): Soft Actor-Critic (otimização do modelo) foi publicado:
No artigo anterior, implementamos o algoritmo Soft Actor-Critic, mas não conseguimos treinar um modelo lucrativo. Neste artigo, vamos realizar a otimização do modelo previamente criado para obter os resultados desejados a nível de seu funcionamento.
Continuamos a explorar o algoritmo Soft Actor-Critic. No artigo anterior, implementamos este algoritmo, mas, infelizmente, não conseguimos treinar um modelo lucrativo. Hoje, vamos discutir soluções para esse problema. Questões semelhantes já foram abordadas no artigo "Procrastinação do modelo, causas e métodos de resolução". Vou sugerir expandir nosso conhecimento nesta área e analisar novas abordagens usando nosso modelo Soft Actor-Critic como exemplo.
Antes de prosseguir diretamente para a otimização do modelo que construímos, gostaria de lembrar que o Soft Actor-Critic é um algoritmo de aprendizado por reforço para modelos estocásticos em espaços de ação contínua. A principal característica deste método é a introdução de um componente de entropia na função de recompensa.
O uso de uma política estocástica do Ator permite que o modelo seja mais flexível e capaz de lidar com tarefas em ambientes complexos, onde algumas ações podem ser indefinidas ou impossíveis de serem governadas por regras claras. Essa política muitas vezes é mais robusta ao lidar com dados que contêm muito ruído, uma vez que leva em consideração o aspecto probabilístico em vez de estar vinculada a regras rígidas.
Autor: Dmitriy Gizlyk