Discussão do artigo "Experimentos com redes neurais (Parte 6): O perceptron como uma ferramenta de previsão de preços autossuficiente"

 

Novo artigo Experimentos com redes neurais (Parte 6): O perceptron como uma ferramenta de previsão de preços autossuficiente foi publicado:

Veja um exemplo do uso do perceptron como um meio autossuficiente de previsão de preços. Esse artigo aborda conceitos gerais, apresenta um Expert Advisor simples e pronto para uso e os resultados de sua otimização.

Indicadores são equações matemáticas usadas para analisar o mercado e ajudar a identificar tendências, pontos de entrada e saída, além de níveis de suporte e resistência. Alguns dos indicadores mais comuns que podem ser usados no perceptron para analisar o mercado Forex incluem:

  • Média móvel (Moving Average);
  • Índice de Força Relativa (Relative Strength Index, RSI);
  • Osciladorestocástico (Stochastic Oscillator);
  • MACD (Moving Average Convergence Divergence).

Passar o preço de fechamento e os indicadores para o perceptron permite que o modelo leve em consideração vários aspectos da análise de mercado e crie previsões de preços mais precisas. Por exemplo, um modelo pode usar uma média móvel para determinar a tendência geral do mercado e, em seguida, usar um oscilador estocástico para determinar um ponto de entrada no mercado.

Autor: Roman Poshtar

 

Oi Roman,

Dois ótimos artigos! Acabei de ler os dois pela primeira vez.

Como ainda não estudei o código, gostaria de saber se o objeto CNeuralNet é uma reformulação de seus cálculos anteriores do Perceptron? Parece muito interessante, pois as abordagens iniciais de ângulo e leque falharam miseravelmente em meus testes avançados. Estou usando o EURUSD H4 de 1/1/2020 a 1/1/0203 como treinamento e de 1/1/2023 a 5/1/2023 como testes avançados.O ângulo falha, pois há tendências estendidas com pausas que o acionam, mas não revertem e interrompem e levam a conta à falência com a primeira queda por volta de 1/2/2023, enquanto seus testes seguem essa queda perfeitamente. A abordagem do ventilador não realiza nenhuma operação no teste avançado.


Fique bem, aguardo seus próximos artigos.


CapeCoddah

P.S.

Acabei de examinar seus dois arquivos de origem e tenho algumas perguntas.

Parece que há partes faltando com base nos códigos-fonte de seus artigos anteriores sobre o Perceptron.

O EA fornecido parece ser o seu EA de otimização. No entanto, ele não usa o objeto CNeuralNet que eu esperava ver.

O EA de teste avançado está faltando, pois o EA anexado não usa os resultados da execução de otimização do GA como entrada para a matriz de pesos, por exemplo, a matriz EURUSD.

Ou não percebi uma mudança lógica em sua filosofia do Perceptron?

 
CapeCoddah #:

Oi Roman,

Dois ótimos artigos! Acabei de ler os dois pela primeira vez.

Como ainda não estudei o código, gostaria de saber se o objeto CNeuralNet é uma reformulação de seus cálculos anteriores do Perceptron? Parece muito interessante, pois as abordagens iniciais de ângulo e leque falharam miseravelmente em meus testes avançados. Estou usando o EURUSD H4 de 1/1/2020 a 1/1/0203 como treinamento e de 1/1/2023 a 5/1/2023 como testes avançados.O ângulo falha porque há tendências estendidas com pausas que o acionam, mas não revertem, interrompem e levam a conta à falência com a primeira queda por volta de 1/2/2023, enquanto seus testes seguem essa queda perfeitamente.


Fique bem, estou ansioso por seus próximos artigos.


CapeCoddah

P.S.

Acabei de examinar seus dois arquivos de origem e tenho algumas perguntas.

Parece que há partes faltando com base nos códigos-fonte de seus artigos anteriores sobre o Perceptron.

O EA fornecido parece ser o seu EA de otimização. Entretanto, ele não usa o objeto CNeuralNet que eu esperava ver.

O EA de teste avançado está faltando, pois o EA anexado não usa os resultados da execução de otimização do GA como entrada para a matriz de pesos, por exemplo, a matriz EURUSD.

Ou não percebi uma mudança lógica em sua filosofia do Perceptron?

Olá, meu amigo. Não estou entendendo bem, portanto, peço que expresse seus pensamentos gradualmente. A otimização depende da profundidade de influência do perceptron usado nas configurações. Cada par tem suas próprias conclusões. Também depende do número de passagens, pois seu valor é infinito.

 

Olá, Roman,

Agradeço a rapidez da resposta. Acho que entendo a otimização do GA no sentido de que os resultados podem variar de uma execução para outra usando períodos de tempo idênticos e que os resultados serão diferentes dependendo da data de início, da duração do teste e de cada par. O que eu não esperava é que, quando uma execução de treinamento de 3 anos produzisse um lucro de 50%, o EA falharia em 5 dias perdendo toda a posição inicial ou não realizaria nenhuma negociação durante a execução real.

Meu objetivo final é desenvolver um EA Perceptron para swing trading que seja treinado por um período fixo e seja executado por apenas um mês após a última data do período de treinamento. Em seguida, ele seria treinado novamente pelo mesmo período, mas o período inicial seria um mês depois, seguido pela execução do segundo mês para dados reais, como uma SMA contínua. Minha base para isso é a suposição de que o mercado Forex muda gradualmente de direção e que qualquer rede "treinada" será mais precisa nos primeiros meses após o treinamento e, em seguida, perderá gradualmente a precisão à medida que as condições do mercado continuarem a mudar. Também entendo que pode haver mudanças seminais no mercado que terão um impacto direto na precisão de qualquer rede "treinada". Esse tipo de mudança terá um impacto significativo em todas as mudanças futuras.

Observo que o Angle Perceptron é muito bom em detectar o início das reversões antes que elas aconteçam. Infelizmente, ele também é bom em detectar pausas nas tendências e emitir uma negociação antecipando a reversão que, nesse caso, não acontece.Como a tendência continua, isso leva a uma perda significativa devido ao grande SL que, no início da execução do teste real, causa a perda da posição inicial. Acho que parte do problema é que o loop do 100 Perceptron requer ajuste adaptativo para reduzir o número total de negociações com base no saldo da conta.

Meus problemas imediatos são do P.S. do meu comentário original.
Em suas postagens anteriores, você publicou um EA para otimização (opt) e um segundo EA para teste de negociação (trade). Nesta postagem, há apenas um: O EA Perceptron_MA_4. Acredito que esse EA possa ser usado para executar otimizações do GA diretamente correspondentes às suas versões anteriores do OPT. Porém, não há uma versão Trade incluída para testes futuros. Se isso for intencional, posso adaptar esse EA para carregar os resultados do GA e produzir um EA para testes futuros.

Além do EA, você postou um objeto de classe, NeualNet, como um arquivo de inclusão, que eu não analisei. O que me surpreendeu foi que o EA Perceptron_MA_4 não usa esse arquivo de inclusão. O que eu esperava era que houvesse uma versão otimizada do EA que incluísse a classe CNeuralNet e também usasse uma das técnicas de normalização da sua postagem da Parte 5. Além disso, haveria uma versão Trade separada para testes futuros. Acho que a criação dos objetos de classe é uma direção muito boa a ser tomada. Como um objeto, torna-se muito fácil usar vários Perceptrons diferentes ao mesmo tempo em um EA, por exemplo, para negociações, configurações de stop loss ou take profit ou, possivelmente, até mesmo para criar uma estratégia de negociação adaptável usando estratégias alternativas para tendências de mercado plano.

 
CapeCoddah estratégia de negociação adaptável usando estratégias alternativas para tendências de mercado plano.

Olá. Você está na direção certa. Se precisar de ajuda com uma tarefa específica, escreva para mim e tentarei ajudá-lo. Basta escrever em particular.