Discussão do artigo "Recursos do Assistente MQL5 que você precisa conhecer (Parte 66): Uso de padrões FrAMA e Force Index com kernel de produto escalar"

 

Novo artigo Recursos do Assistente MQL5 que você precisa conhecer (Parte 66): Uso de padrões FrAMA e Force Index com kernel de produto escalar foi publicado:

O indicador FrAMA e o oscilador Force Index são ferramentas de análise de tendência e volume que podem ser usadas em conjunto no desenvolvimento de um EA. Dando continuidade ao artigo anterior, no qual apresentamos essa combinação, vamos analisar como o aprendizado de máquina pode ser aplicado a ela. Usaremos uma rede neural convolucional (convolutional neural network) que emprega um kernel de produto escalar (dot-product kernel) para gerar previsões com base nos dados de entrada desses indicadores. Essa lógica é implementada em um arquivo personalizado da classe de sinais (signal class), que interage com o Assistente MQL5 para criar o EA.

No artigo anterior, em que apresentamos essa combinação de indicadores como fonte de sinais para entrada em posição de um EA, os resultados dos testes forward não foram animadores. Apontamos algumas possíveis razões e também observamos que o treinamento e a otimização foram realizados com apenas um ano de dados, embora seja fundamental testar qualquer padrão da forma mais abrangente possível e com um volume considerável de dados históricos. Dando continuidade a esse trabalho, como de costume, analisaremos os padrões que passaram pelo teste forward e aplicaremos aprendizado de máquina a eles.

Ao implementar algoritmos de aprendizado de máquina em MQL5, o OpenCL é sempre uma opção disponível, mas seu uso frequentemente exige uma unidade de processamento gráfico (GPU). Ao mesmo tempo, o ecossistema de bibliotecas Python tornou-se bastante amplo, permitindo obter várias vantagens usando apenas a CPU. É justamente essa abordagem que exploramos nesta série de artigos. Neste trabalho, assim como em alguns dos anteriores, implementamos nossas redes neurais em Python, pois tanto a programação quanto o treinamento nesse ambiente são bastante eficientes.

Dos dez padrões que otimizamos ou treinamos no artigo anterior, apenas o sexto e o nono passaram pelo teste forward. Por isso, prosseguiremos com os testes usando uma rede neural, como nos artigos anteriores, mas desta vez empregando uma rede neural convolucional (convolutional neural network, CNN). Nessa CNN, implementaremos um kernel de produto escalar (dot-product kernel). Antes disso, porém, como de costume nas implementações em Python, definiremos as funções dos indicadores necessárias para alimentar nossa rede com os sinais.


Autor: Stephen Njuki