Diskussion zum Artikel "Neuronale Netze im Handel: Ein End-to-End-Modell zur multivariaten Zeitreihenprognose (Fazit)"
Irgendwie haben sie da wieder was mit dem Aufruf von Funktionen zusammengebastelt … Helft mir bitte, das zu verstehen …
wird nicht erkannt
double Math::MathPow(double a) – nimmt es beispielsweise nicht an, sondern bietet nur Implementierungen für Arrays an:
bool Math::MathPow(const double&[], const double, double&[])Math.mqh
Wozu die überhaupt gut sein sollen, ist mir völlig unklar?!(((
wird nicht angezeigt
double Math::MathPow(double a) – nehmen wir mal an, a – bietet aber nur Implementierungen für Arrays an:
bool Math::MathPow(const double&[], const double, double&[])Math.mqh
von denen man überhaupt nicht versteht, wozu sie gut sein sollen?!(((
Ersetze an den Stellen, an denen der Fehler auftritt, „MathPow“ durch„::MathPow“; dadurch wird auf die Funktionen des Compilers zugegriffen und nicht auf die in der Klasse deklarierten.
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
Außerdem treten dieselben Probleme im Modul „NeuroNet.mqh“ auf
Die korrigierte Bibliothek im Artikel „Neuralnetze im Trading: Zerlegung statt Skalierung – Erstellung von Modulen“ – Artikel zu MQL5
- 2025.08.08
- www.mql5.com
Korrigierte Bibliothek im Artikel „Neuralnetze im Trading: Zerlegung statt Skalierung – Aufbau von Modulen“ – Artikel zu MQL5
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Neuer Artikel Neuronale Netze im Handel: Ein End-to-End-Modell zur multivariaten Zeitreihenprognose (Fazit) :
Wir sind nun beim entscheidenden – und vielleicht interessantesten – Teil angelangt: der Bewertung der Leistungsfähigkeit des GinAR-Frameworks unter realen Marktbedingungen. Wir haben die Phasen des Architekturentwurfs, der Implementierung der Schlüsselkomponenten und der Entwicklung der Algorithmen für den Vorwärts- und Rückwärtsdurchlauf abgeschlossen. Alle Komponenten des Systems wurden sorgfältig entwickelt, getestet und an die spezifischen Eigenschaften finanzieller Zeitreihen angepasst. Nun ist es an der Zeit, all diese Elemente zusammenzuführen und sie, wie man so schön sagt, auf die Probe zu stellen – um zu sehen, wie effektiv GinAR praktische Analyse- und Prognoseaufgaben bewältigt.
Nach Abschluss des Offline-Trainings gingen wir zur zweiten Phase über – der Online-Feinabstimmung, die nun unter realitätsnahen Marktbedingungen durchgeführt wurde. Das Training wurde im Strategietester des MetaTrader 5 durchgeführt, wo das Modell den Markt im Streaming-Modus Schritt für Schritt und Kerze für Kerze analysierte. Dadurch konnte nicht nur die Robustheit des Modells gegenüber Rauschen, Marktverzerrungen und zufälligen Schwankungen getestet werden, sondern dieser Ansatz diente auch als wichtiges Anpassungsinstrument: Das Modell speicherte nicht einfach nur Informationen ab, sondern lernte tatsächlich, unter realen, unvorhersehbaren Bedingungen zu agieren. Dieser Ansatz erhöhte die Robustheit des Modells deutlich, reduzierte das Overfitting und verbesserte seine Generalisierungsfähigkeit.
Der letzte Schritt bestand darin, das Modell anhand völlig neuer Daten zu testen – Kursdaten von Januar bis März 2025. Alle während des Trainings verwendeten Parameter und internen Einstellungen wurden unverändert beibehalten. Somit ermöglichen die erzielten Ergebnisse eine objektive Bewertung nicht nur der Genauigkeit, sondern auch der praktischen Zuverlässigkeit des vorgeschlagenen Ansatzes.
Die Ergebnisse der Modelltests liefern ein objektives Bild der tatsächlichen Effektivität und Robustheit des Modells außerhalb der Trainingsstichprobe. Die Anfangseinlage von 100 US-Dollar stieg auf 1.087,74 US-Dollar an, was einer mehr als zehnfachen Kapitalvervielfachung entspricht – ein Ergebnis, das auf den ersten Blick beeindruckend wirkt. Bei genauerer Betrachtung zeigt sich jedoch ein deutliches Muster: Das Modell liefert zu Beginn des Testzeitraums sehr gute Ergebnisse, doch je weiter sich die Daten von der Trainingsstichprobe entfernen, desto mehr lässt seine Leistung nach.
Autor: Dmitriy Gizlyk