Discussão do artigo "Redes neurais em trading: Modelo multidimensional de ponta a ponta para previsão de séries temporais (Conclusão)"

 

Novo artigo Redes neurais em trading: Modelo multidimensional de ponta a ponta para previsão de séries temporais (Conclusão) foi publicado:

Apresentamos a parte final da série dedicada ao GinAR, um framework de redes neurais para previsão de séries temporais. Neste artigo, analisamos os resultados do teste do modelo com novos dados e avaliamos sua estabilidade em condições reais de mercado.

Chegamos à parte mais importante e, provavelmente, a mais interessante: a avaliação do funcionamento do framework GinAR em condições reais. Ficaram para trás as etapas de projeto da arquitetura, implementação dos componentes-chave e construção dos algoritmos de propagação para frente e de propagação reversa. Todos os elementos do sistema foram detalhadamente desenvolvidos, verificados e adaptados às particularidades das séries temporais financeiras. Agora é hora de reuni-los em um todo único e, por assim dizer, colocar em prática para verificar com que eficiência o GinAR lida com tarefas práticas de análise e previsão.

Após a conclusão do treinamento offline, passamos à segunda etapa, o ajuste fino online, já realizado em condições próximas às do mercado real. O treinamento foi conduzido no testador de estratégias do MetaTrader 5, em que o modelo, passo a passo, candle a candle, analisava o mercado em modo de fluxo. Isso não apenas permitiu testar a robustez do modelo diante de ruído, distorções de mercado e oscilações aleatórias, como também se tornou uma importante ferramenta de adaptação: o modelo não apenas memorizava, mas realmente aprendia a operar em condições reais e imprevisíveis. Essa abordagem aumentou substancialmente sua resiliência, reduziu o overfitting e melhorou sua capacidade de generalização.

A etapa final foi o teste do modelo em dados totalmente novos, cotações referentes ao período de janeiro a março de 2025. Todos os parâmetros e ajustes internos usados durante o treinamento foram mantidos sem alterações. Assim, os resultados obtidos permitem avaliar objetivamente não apenas a precisão, mas também a robustez prática da abordagem proposta.

Os resultados do teste do modelo permitem obter uma visão objetiva de sua eficácia real e de sua robustez fora da amostra de treinamento. O depósito inicial de $100 foi elevado para $1087.74, o que equivale a um aumento de capital de mais de 10 vezes, um resultado que, à primeira vista, impressiona. No entanto, ao analisar mais a fundo, torna-se perceptível uma característica marcante: o modelo demonstra alta eficiência no início do período de teste, mas depois, à medida que se afasta da amostra de treinamento, seu desempenho começa a cair.


Autor: Dmitriy Gizlyk

 
redefinição do parâmetro padrão NeuroNet.mqh 13794 177
nenhuma das sobrecargas pode ser aplicada à chamada de função Math.mqh 66 20

bool Math::MathPow(const double&[],const double,double&[]) Math.mqh 2976 6

 

eles fizeram algo errado com as chamadas de função novamente... me ajude a entender, por favor....

não vê que

double Math::MathPow(double a) é permitido, mas oferece apenas implementações para matrizes:

bool Math::MathPow(const double&[],const double,double&[])Math.mqh

que não está claro para que são usados!(((((

 
Andrew_7543 chamadas de função novamente... me ajude a entender, por favor....

Não consigo ver

double Math::MathPow(double a) é admissível e oferece apenas implementações para matrizes:

bool Math::MathPow(const double&[],const double,double&[])Math.mqh

que não está claro para que são usados!(((((

Nos locais em que o erro ocorre, substitua MathPow por ::MathPow, o que permitirá que você se refira às funções do compilador em vez daquelas declaradas na classe.

 
sps) de fato, e o que mais restou - foi, portanto, o caminho...
 
Dmitriy Gizlyk MathPow por ::MathPow, o que permitirá acessar as funções do compilador em vez das declaradas na classe.
Além disso, os mesmos problemas no módulo NeuroNet.mqh

 call resolves to 'bool CNeuronPSBlock::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,float,ENUM_OPTIMIZATION,uint)' instead of 'bool CNeuronConvSAMOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint)' due to new rules of method hiding NeuroNet.mqh 3513 25
   see declaration of function 'CNeuronPSBlock::Init' NeuroNet.mqh 48451 22
   see declaration of function 'CNeuronConvSAMOCL::Init' NeuroNet.mqh 11308 22
no one of the overloads can be applied to the function call NeuroNet.mqh 21835 18
could be one of 2 function(s) NeuroNet.mqh 21835 18
   bool CNeuronConvSAMOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 11308 22
   bool CNeuronConvSAMOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,float,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 11309 22
call resolves to '<NA>' instead of 'bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint)' due to new rules of method hiding NeuroNet.mqh 21835 18
   see declaration of function 'CNeuronConvOCL::Init' NeuroNet.mqh 10973 22
no one of the overloads can be applied to the function call NeuroNet.mqh 21840 18
could be one of 2 function(s) NeuroNet.mqh 21840 18
   bool CNeuronConvSAMOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 11308 22
   bool CNeuronConvSAMOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,float,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 11309 22
call resolves to '<NA>' instead of 'bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint)' due to new rules of method hiding NeuroNet.mqh 21840 18
   see declaration of function 'CNeuronConvOCL::Init' NeuroNet.mqh 10973 22
no one of the overloads can be applied to the function call NeuroNet.mqh 21846 18
could be one of 2 function(s) NeuroNet.mqh 21846 18
   bool CNeuronConvSAMOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 11308 22
   bool CNeuronConvSAMOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,float,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 11309 22
call resolves to '<NA>' instead of 'bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint)' due to new rules of method hiding NeuroNet.mqh 21846 18
   see declaration of function 'CNeuronConvOCL::Init' NeuroNet.mqh 10973 22
no one of the overloads can be applied to the function call NeuroNet.mqh 30722 16
could be one of 2 function(s) NeuroNet.mqh 30722 16
   bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 10973 22
   bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 10974 22
call resolves to '<NA>' instead of 'bool CNeuronProofOCL::Init(uint,uint,COpenCLMy*,int,int,int,ENUM_OPTIMIZATION,uint)' due to new rules of method hiding NeuroNet.mqh 30722 16
   see declaration of function 'CNeuronProofOCL::Init' NeuroNet.mqh 10856 22
no one of the overloads can be applied to the function call NeuroNet.mqh 30730 16
could be one of 2 function(s) NeuroNet.mqh 30730 16
   bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 10973 22
   bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 10974 22
call resolves to '<NA>' instead of 'bool CNeuronProofOCL::Init(uint,uint,COpenCLMy*,int,int,int,ENUM_OPTIMIZATION,uint)' due to new rules of method hiding NeuroNet.mqh 30730 16
   see declaration of function 'CNeuronProofOCL::Init' NeuroNet.mqh 10856 22
no one of the overloads can be applied to the function call NeuroNet.mqh 30755 16
could be one of 2 function(s) NeuroNet.mqh 30755 16
   bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 10973 22
   bool CNeuronConvOCL::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 10974 22
call resolves to '<NA>' instead of 'bool CNeuronProofOCL::Init(uint,uint,COpenCLMy*,int,int,int,ENUM_OPTIMIZATION,uint)' due to new rules of method hiding NeuroNet.mqh 30755 16
   see declaration of function 'CNeuronProofOCL::Init' NeuroNet.mqh 10856 22
wrong parameters count, 12 passed, but 15 requires NeuroNet.mqh 64222 22
   bool CNeuronTimeMoEAttention::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint) NeuroNet.mqh 63529 22
call resolves to 'bool CNeuronTimeMoEAttention::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint)' instead of 'bool CNeuronCrossDMHAttention::Init(uint,uint,COpenCLMy*,uint,uint,uint,uint,uint,uint,uint,ENUM_OPTIMIZATION,uint)' due to new rules of method hiding NeuroNet.mqh 64222 22
   see declaration of function 'CNeuronTimeMoEAttention::Init' NeuroNet.mqh 63529 22
   see declaration of function 'CNeuronCrossDMHAttention::Init' NeuroNet.mqh 50759 22
7 errors, 8 warnings 7 8
 
Andrew_7543 #:
Em seguida, os mesmos problemas no módulo NeuroNet.mqh

Biblioteca corrigida no artigo Redes neurais na negociação: decomposição em vez de escalonamento - Building Modules - MQL5 Articles

Нейросети в трейдинге: Декомпозиция вместо масштабирования — Построение модулей
Нейросети в трейдинге: Декомпозиция вместо масштабирования — Построение модулей
  • 2025.08.08
  • www.mql5.com
В этой статье продолжаем практическое знакомство с SSCNN — архитектурным решением нового поколения, способным работать с фрагментированными временными рядами. Вместо слепого масштабирования — разумная модульность, внимание к деталям и точечная нормализация. Мы шаг за шагом создаём вычислительные блоки в среде MQL5 и закладываем основу для надёжного прогнозного анализа.
 
obrigado)tudo começou como estava antes da atualização do terminal... e para o artigo um respeito especial!!!!
 
@Dmitriy Gizlyk saudações... não está muito claro o que acontece no treinamento on-line: qual período você escolheu, quais configurações do testador de estratégia você usou para se aproximar das condições de combate?