Discusión sobre el artículo "Redes neuronales en el trading: Modelo multidimensional de extremo a extremo para la previsión de series temporales (Final)"
Parece que han vuelto a hacer alguna chapuza con la llamada a las funciones... Ayudadme a aclararlo, por favor...
No reconoce
double Math::MathPow(double a), por ejemplo, pero solo ofrece implementaciones para matrices:
bool Math::MathPow(const double&[], const double, double&[])Math.mqh
¿Para qué sirven estas, si ni siquiera se entiende?!(((
No lo ve
double Math::MathPow(double a), por ejemplo, pero solo ofrece implementaciones para matrices:
bool Math::MathPow(const double&[], const double, double&[])Math.mqh
¿Para qué sirven estas, si ni siquiera se entiende su finalidad?!(((
En los lugares donde se produce el error, sustituye MathPow por::MathPow; esto permitirá acceder a las funciones del compilador, en lugar de a las declaradas en la clase.
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
A continuación, se observan los mismos problemas en el módulo NeuroNet.mqh
Biblioteca corregida en el artículo «Redes neuronales en el trading: descomposición en lugar de escalado — Creación de módulos» - Artículos sobre MQL5
- 2025.08.08
- www.mql5.com
Biblioteca corregida en el artículo «Redes neuronales en el trading: descomposición en lugar de escalado — Creación de módulos» - Artículos sobre MQL5
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Redes neuronales en el trading: Modelo multidimensional de extremo a extremo para la previsión de series temporales (Final):
Hoy vamos a abordar la parte más importante y, quizás, la más interesante: la evaluación del rendimiento del framework GinAR en condiciones reales. Ya hemos superado las etapas de diseño de la arquitectura, la implementación de los componentes clave y la construcción de los algoritmos de pasada directa e inversa. Todos los elementos del sistema han sido minuciosamente desarrollados, probados y adaptados a las particularidades de las series temporales financieras. Ahora es el momento de combinarlos y ponerlos a prueba, para comprobar así la eficacia con la que GinAR aborda las tareas prácticas de análisis y previsión.
Tras completar la formación offline, pasamos a la segunda fase: el perfeccionamiento online, realizado en condiciones muy similares a las del mercado real. El entrenamiento se ha realizado en el simulador de estrategias de MetaTrader 5, donde el modelo ha analizado el mercado paso a paso, vela por vela, en modo de transmisión en tiempo real. Esto no solo nos ha permitido probar la resistencia del modelo al ruido, las distorsiones del mercado y las fluctuaciones aleatorias, sino que también se ha convertido en una importante herramienta de adaptación: el modelo no solo ha memorizado, sino que ha aprendido a funcionar en condiciones reales e impredecibles. Este enfoque ha aumentado significativamente su capacidad de supervivencia, reducido el sobreajuste y mejorado su capacidad de generalización.
El último paso ha sido probar el modelo con datos completamente nuevos: las cotizaciones correspondientes al periodo comprendido entre enero y marzo de 2025. Todos los parámetros y ajustes internos utilizados durante el entrenamiento se han mantenido sin cambios. De este modo, los resultados obtenidos nos permiten evaluar objetivamente no solo la exactitud, sino también la fiabilidad aplicada del enfoque propuesto.
Los resultados de las pruebas del modelo ofrecen una comprensión objetiva de su eficacia y estabilidad reales fuera de la muestra de entrenamiento. El depósito inicial de 100 dólares se ha incrementado a 1087,74 dólares, lo que equivale a un aumento de capital de más de 10 veces, un resultado impresionante a primera vista. Sin embargo, si profundizamos, se hace evidente una característica distintiva: el modelo demuestra una alta eficiencia al comienzo del periodo de prueba, pero luego, a medida que se aleja de la muestra de entrenamiento, su rendimiento comienza a disminuir.
Autor: Dmitriy Gizlyk