Discussão do artigo "Exemplo de novo Indicador e LSTM Condicional"

 

Novo artigo Exemplo de novo Indicador e LSTM Condicional foi publicado:

Este artigo explora o desenvolvimento de um Expert Advisor (EA) para trading automatizado que combina análise técnica com previsões de deep learning.

Indicadores técnicos são utilizados há muito tempo pela indústria financeira para identificar tendências e possíveis oportunidades de negociação. Apesar de sua importância, esses indicadores frequentemente não conseguem captar totalmente as complexidades das dinâmicas de mercado, especialmente durante períodos de volatilidade extrema ou mudanças abruptas. No entanto, arquiteturas de deep learning, como as LSTMs, em particular, demonstraram um potencial impressionante em modelos de machine learning para reconhecimento de padrões e previsão em dados complexos e dependentes do tempo. Esses modelos, entretanto, nem sempre oferecem a interpretabilidade e o conhecimento específico de domínio que a análise técnica convencional proporciona.

Nossa estratégia busca preencher essa lacuna ao unir as vantagens de ambas as abordagens. Este artigo apresenta uma ferramenta inovadora chamada indicador Volatility Adjusted Momentum (VAM), que busca medir o momentum do mercado levando em consideração a volatilidade subjacente. Em comparação aos indicadores de momentum convencionais, isso oferece uma visão mais detalhada das dinâmicas de mercado. O VAM busca fornecer sinais mais confiáveis em diferentes cenários de mercado, desde períodos de calmaria até momentos de turbulência, ao incorporar a volatilidade na análise.


Autor: Javier Santiago Gaston De Iriarte Cabrera

 
Isso está funcionando perfeitamente e até agora abriu mais de 10 lucros e todos atingiram o tp, mas gostaria de saber se você tem um conjunto que funcione em tf mais baixo
 

Você pode me informar onde colocar os arquivos.

Coloquei a pasta C:\Users\anilh\AppData\Roaming\MetaQuotes\Terminal\73B7A2420D6397DFF9014A20F1201F97\MQL5\Files

bem como em C:\Users\anilh\AppData\Roaming\MetaQuotes\Terminal\Common\Files

o arquivo .onnx e recebo os seguintes erros

Arquivo de recurso '/Files/stock_prediction_model_MACD.onnx' não encontrado IC_009_EA_ONNX_045_Final.mq5

arquivo de recurso 'C:\Users\anilh\AppData\Roaming\MetaQuotes\Terminal\73B7A2420D6397DFF9014A20F1201F97\MQL5\Files\stock_prediction_model_MACD.onnx' não encontrado (2) IC_009_EA_ONNX_045_Final.mq5

Agradecimentos
 
Arber Coku #:
Isso está funcionando perfeitamente e até agora abriu mais de 10 lucros e todos atingiram o tp, mas gostaria de saber se você tem um conjunto que funcione em tf inferior

Tenho um problema com isso... para criar os modelos, usei o python colab com dados de um pesquisador da web que não sei o nome... em vez de usar o colab com o python, você poderia usar o python e criar o modelo em seu laptop (você deve criar um novo script py) .... Digo isso porque o .com de onde obtenho os dados pode ter dados semelhantes para um dia (em comparação com nossas corretoras)... mas se você for para períodos de tempo menores, talvez queira usar os dados do mt5 (os dados de suas corretoras com o mt5)... (algumas corretoras têm dados diferentes).

Estou entendendo?

Sim, por favor, fique à vontade para experimentar em períodos menores e compartilhar os resultados!

 
Anil Varma #:

Por favor, indique onde colocar os arquivos.

Coloquei a pasta C:\Users\anilh\AppData\Roaming\MetaQuotes\Terminal\73B7A2420D6397DFF9014A20F1201F97\MQL5\Files

e também na pasta C:\Users\anilh\AppData\Roaming\MetaQuotes\Terminal\Common\Files

o arquivo .onnx e obtive os seguintes erros

arquivo de recurso '/Files/stock_prediction_model_MACD.onnx' não encontrado IC_009_EA_ONNX_045_Final.mq5

arquivo de recurso 'C:\Users\anilh\AppData\Roaming\MetaQuotes\Terminal\73B7A2420D6397DFF9014A20F1201F97\MQL5\Files\stock_prediction_model_MACD.onnx' não encontrado (2) IC_009_EA_ONNX_045_Final.mq5

Agradecimentos

Oi Anil!

O modelo onnx deve estar na pasta Files (MQL5 -> Files)... ou onde você quiser (dentro de mql5\files\), basta alterar o caminho (você não precisa especificar todo o caminho, apenas de \\Files\\...)

 
Arber Coku #:
Isso está funcionando perfeitamente e até agora abriu mais de 10 lucros e todos atingiram a tp, mas gostaria de saber se você tem um conjunto que funcione na tf inferior

LEMBRE-SE!

Os modelos de aprendizado profundo funcionam bem até 30 a 90 períodos de tempo.

Negocie bem ;)

 
Javier Santiago Gaston De Iriarte Cabrera #:

Tenho um problema com isso... para criar os modelos, usei o python colab com dados de um pesquisador da web que não sei o nome... em vez de usar o colab com o python, você poderia usar o python e criar o modelo em seu laptop (você deve criar um novo script py) .... Digo isso porque o .com, de onde obtenho os dados, pode ter dados semelhantes para um dia (em comparação com nossas corretoras)... mas se você for para períodos de tempo menores, talvez queira usar os dados do mt5 (os dados de suas corretoras com o mt5)... (algumas corretoras têm dados diferentes).

Estou entendendo?

Sim, por favor, fique à vontade para experimentar em períodos menores e compartilhar os resultados!

Ok, vou tentar fazer um novo modelo, mas de acordo com alguns pesquisadores que vi, é bom fazer alterações pelo menos a cada 6 meses. Vou fazer um backtest primeiro com entradas diferentes no mt5 e no modelo onnx, vou deixar com os valores que você colocou. A entrada está perfeita, mas vi hoje que o tp e o sl precisam ser ajustados com base no corretor. Obrigado!
 
Javier Santiago Gaston De Iriarte Cabrera #:

Olá, Anil!

O modelo onnx deve estar na pasta Files (MQL5 -> Files) ... ou onde você quiser (dentro de mql5\files\), basta alterar o caminho (você não precisa especificar todo o caminho, apenas de \\Files\\...)

Oi Javier

Obrigado pela resposta.

Encontrei o problema. Você nomeou "stock_prediction_model_MACD.onnx" no EA, mas os arquivos zip o nomearam como stock_prediction_model_MACD_Signal.onnx

Também notei o uso inadequado do identificador do indicador (bug!!!) no código. Você usou

double volatility = iMA(NULL, 0, volatility_period, 0, MODE_SMA, PRICE_CLOSE);
double atr = iATR(_Symbol,PERIOD_CURRENT,14)*_Point;
double volatility = iStdDev(_Symbol, PERIOD_CURRENT, volatility_period, 0, MODE_SMA, PRICE_CLOSE);

Na MQL5, os valores do indicador são derivados usando CopyBuffer e o identificador do indicador, que você usou em

   int macd_handle2 = iMACD(_Symbol, PERIOD_CURRENT, 12, 26, 9, PRICE_CLOSE);
   CopyBuffer(macd_handle2, 0, 0, 1, macd_main2);
Você poderia explicar por que o handle foi usado de forma diferente com uma variável dupla para obter os valores no primeiro caso?


Abraços e bom fim de semana.

 
Anil Varma #:
double volatility = iStdDev(_Symbol, PERIOD_CURRENT, volatility_period, 0, MODE_SMA, PRICE_CLOSE);
Vejo que o objetivo desse EA é abrir a volatilidade com base na posição e os ruídos são necessários agora; se usarmos o ma, poderemos ver apenas a tendência.
 
Arber Coku #:
Ok, vou tentar fazer um novo modelo, mas de acordo com alguns pesquisadores que vi, é bom fazer mudanças pelo menos a cada 6 meses. Vou fazer um backtest primeiro com entradas diferentes no mt5 e no modelo onnx, vou deixar com os valores que você colocou. A entrada está perfeita, mas vi hoje que o tp e o sl precisam ser ajustados com base no corretor. Obrigado!

Olá, boa pergunta.

É bom criar um novo modelo a cada 6 meses (se você estiver usando períodos de 1d), o que seria interessante é criar um modelo com algum tipo de peso exponencial ou linear (de modo que os últimos valores tivessem um peso maior... Estou trabalhando nisso, vou publicar um artigo sobre isso) e, nesse caso, sim, você deve criar modelos com muito mais frequência. Sim, 6 meses têm bons resultados no day trading, mas não é tão diferente de 3 meses. É mais interessante dar esperas para os últimos valores, porque um modelo geralmente tem 10 mil últimos candles... Vou trabalhar nisso e publicar um artigo.

 
Arber Coku #:
Vejo que o objetivo desse EA é abrir a volatilidade com base na posição e os ruídos são necessários agora; se usarmos o ma, poderemos ver apenas a tendência.

Bem, o objetivo deste artigo é mostrar que também podemos criar modelos LSTM condicionais com indicadores que também dão bons resultados, conforme mostrado... o VAM serve para que você veja que um indicador não é algo tão difícil de criar.