Discussão do artigo "Floresta de Decisão Aleatória na Aprendizagem por Reforço" - página 8

 
rogivilela:
Olá pessoal,
Antes de mais nada, gostaria de parabenizar Maxim Dmitrievsky por seu artigo.
Em segundo lugar, gostaria de dizer que estou acompanhando o tópico, pois o assunto é muito interessante.
Em terceiro lugar, gostaria de tirar uma dúvida, pois não estou conseguindo entender como é feita hoje a execução da recompensa no EA de classificação, alguém poderia descrevê-la?

O que eu entendi é que quando o EA fecha a posição com um valor negativo ele faz uma alteração nos 2 índices do vetor (3 e 4).
Como sei que essa recompensa é boa, pois gostaria de aumentar as recompensas quando a operação for positiva e pegar uma certa quantidade de pontos.


Obrigado.
Ps. Usei o Google Translate, desculpe se não estiver compreensível.

Isso é exatamente o que tenho trabalhado quase desde o início do artigo, como integrar os parâmetros da conta à política e como atualizar a recompensa com base nos lucros e perdas. Mas até agora não consegui implementar nada com sucesso.

Percebi que, se tentarmos implementar lucros e perdas na função de recompensa, teremos de alterar completamente essa função updateReward(). Além disso, talvez seja necessário alterar completamente a implementação da matriz.

Tenho uma solução para implementar lucros e perdas usando o Q-learning pela equação de BellMan, na qual podemos implementar lucros e perdas flutuantes no agente para atualizar a recompensa. Mas precisamos criar uma nova matriz e atualizar toda a matriz em cada candle. Mas não sou bom em implementação de matrizes e, portanto, estou apenas esperando que o autor publique seu próximo artigo com novos agentes.

Se alguém estiver interessado na implementação do aprendizado Q e puder implementar a matriz, posso discutir aqui como atualizar a recompensa usando lucros e perdas usando o valor Q.

Tenho testado o EA com um número ilimitado de combinações de indicadores e configurações, mas descobri que não há outra maneira de melhorar os resultados sem atualizar a política. O agente está fazendo exatamente o que foi designado a fazer e, portanto, está apenas fechando pequenos lucros para aumentar a porcentagem de ganhos, mas, no geral, a conta não aumenta o lucro, pois a política não considera perdas pequenas ou grandes separadamente.

 

Oi Maxim Dmitrievsky,

Há algum progresso ou atualização para a publicação de seu próximo artigo sobre RDF?

Obrigado...

 
Depois de atualizar para a versão 1940, ele não está mais funcionando, o retorno do cálculo recebe o valor "-nan (ind)". Alguém sabe o que aconteceu?
 
Igor Vilela:
Depois de atualizar para a versão 1940, ele não está mais funcionando, o retorno do cálculo recebe o valor "-nan (ind)". Alguém sabe o que aconteceu?

Olá, tente esta biblioteca https://www.mql5.com/pt/code/22915

ou tente recompilar

RL GMDH
RL GMDH
  • www.mql5.com
Данная библиотека имеет расширенный функционал, позволяющий создавать неограниченное количесто "Агентов". Использование библиотеки: Пример заполнения входных значений нормированными ценами закрытия: Обучение происходит в тестере...
 
Obrigado Maxim Dmitrievsky, mas eu já fiz todo o conhecimento sobre esse caso, gostaria de tentar corrigir esse erro, pois já estou executando um roubo com a ideia que foi apresentada neste artigo. Poderia ajudar a identificar o que causou o erro. Ele parou de funcionar ao atualizar para a versão 1940.
 
Igor Vilela:
Obrigado Maxim Dmitrievsky, mas eu já fiz todo o conhecimento sobre esse caso, gostaria de tentar corrigir esse erro, pois já estou executando um roubo com a ideia que foi apresentada neste artigo. Poderia ajudar a identificar o que causou o erro. Ele parou de funcionar ao atualizar para a versão 1940.

Tente baixar a biblioteca fuzzy correta daqui, pois talvez a atualização do MT5 possa alterá-la para o padrão

https://www.mql5.com/ru/forum/63355#comment_5729505

Библиотеки: FuzzyNet - библиотека для работы с нечеткой логикой
Библиотеки: FuzzyNet - библиотека для работы с нечеткой логикой
  • 2015.08.26
  • www.mql5.com
8 новых функций принадлежности.
 
Consegui resolver o problema, graças a Maxim Dmitrievsky.
Copiei novamente toda a pasta MATH para o novo metatrader e reiniciei o computador.
 
FxTrader562:

Prezado Maxim Dmitrievsky,

Você poderia informar se já publicou seu próximo artigo sobre a implementação da floresta de decisão aleatória com diferentes agentes e sem a lógica difusa que mencionou anteriormente?

Muito obrigado

Olá, FxTrader, o novo artigo foi traduzido e já está disponível

Não tenho certeza da qualidade da tradução, não é meu trabalho, mas acho que está tudo bem.

 

Boa tarde. Não entendo por que precisamos acrescentar algo ao Metatrader em termos de treinamento da rede neural.

Existem pesos, eles precisam ser otimizados usando o mecanismo de otimização do Metatrader. Você não acha que os desenvolvedores do Metatrader já fizeram um bom progresso na questão do treinamento de redes/otimização de parâmetros?

A compra e a venda são realizadas de acordo com as regras definidas pelos indicadores. A rede neural agrega "dados de observação" desses indicadores (número de picos, altura dos picos na véspera de uma negociação etc.), mas não os valores do indicador em si, porque isso é um absurdo. Você pode verificar a configuração dos pesos no decorrer do treinamento, por exemplo: +1 se o mercado foi para onde deveria ir nos próximos 2 dias e -1 se foi para o lado errado. No final, cada configuração de pesos tem uma soma. É assim que otimizamos a melhor configuração de pesos de acordo com o critério do usuário (esse é um parâmetro de otimização, tudo tem de ser pensado?!).

O exemplo descrito tem de 40 a 50 linhas no código. Essa é toda a rede neural com treinamento. E volto à minha pergunta original: por que você acha que, ao inventar algo complexo e mal compreendido, você se aproximou do Santo Graal? Quanto mais complexa e incompreensível for a caixa preta que eu criar, mais me sentirei lisonjeado por ela, como se eu fosse inteligente!

 
Evgeniy Scherbina:

Boa tarde. Uma coisa que não entendo é por que precisamos adicionar algo ao Metatrader em termos de treinamento de rede neural?

Existem pesos, eles precisam ser otimizados usando o mecanismo de otimização do Metatrader. Você não acha que os desenvolvedores do Metatrader já fizeram um bom progresso no treinamento de redes/otimização de parâmetros?

A compra e a venda são realizadas de acordo com as regras definidas pelos indicadores. A rede neural agrega "dados de observação" desses indicadores (número de picos, altura dos picos na véspera de uma negociação etc.), mas não os valores do indicador em si, porque isso é um absurdo. Você pode verificar a configuração dos pesos no decorrer do treinamento, por exemplo: +1 se o mercado foi para onde deveria ir nos próximos 2 dias e -1 se foi para o lado errado. No final, cada configuração de pesos tem uma soma. É assim que otimizamos a melhor configuração de pesos de acordo com o critério do usuário (esse é um parâmetro de otimização, tudo tem de ser pensado?!).

O exemplo descrito tem de 40 a 50 linhas no código. Essa é a rede neural inteira com treinamento. E volto à minha pergunta original: por que você acha que, ao inventar algo complexo e pouco compreendido, você se aproximou do Santo Graal? Quanto mais complicada e incompreensível for a caixa preta que criei, mais me sinto lisonjeado por ela, como se eu fosse inteligente!

Quando crescer, você entenderá.

Pelo menos, para começar, leia quais solucionadores são usados nas redes neurais e por que ninguém usa a genética para treiná-las.