Dieser Artikel ist interessant. Ich habe vorher nicht einmal versucht, mich mit neuronalen Netzen zu befassen, da ich sie für einen "dunklen Wald" hielt, und alles, was ich vorher zu diesem Thema gelesen habe, war von der Fülle unverständlicher Worte abgestoßen, aber in diesem Artikel ist die Theorie tatsächlich recht einfach und verständlich, vielen Dank an den Autor dafür!
Und ich möchte diesen Satz klären: "Beide EAs zeigten ähnliche Ergebnisse mit einer Trefferquote von knapp über 6%." Verstehe ich das richtig, dass nach dem ersten "Durchgang" des Trainings die Vorhersage des neuronalen Netzes nur um 6 % gerechtfertigt war?
Und nach 35 Epochen Training - nur 12 % ???
Ein solch niedriges Ergebnis motiviert nicht, das Thema weiter zu untersuchen.
Welche Methoden gibt es, um die Genauigkeit der Vorhersage zu verbessern?
Guten Tag, Dimitri.
Das Thema ist sehr interessant und notwendig. Vielen Dank für diese Artikel).
1. Ich habe eine Frage zum Code der Methode Traine(... ):
TempData.Clear(); bool sell=(High.GetData(i+2)<High.GetData(i+1) && High.GetData(i)<High.GetData(i+1)); //в строчке ниже скорее всего не верно определяется Low фрактал bool buy=(Low.GetData(i+2)<Low.GetData(i+1) && Low.GetData(i)<Low.GetData(i+1)); //знаки сравнения нужно поменять наоборот buy=(Low.GetData(i+2)>Low.GetData(i+1) && Low.GetData(i)>Low.GetData(i+1));/
Als ich die modifizierte Version beim Training laufen ließ, verbesserten sich die Ergebnisse:
Bereits bei Epoche 8 war die Genauigkeit 16,98% gegenüber der alten Variante bei der gleichen Epoche 10,87%

2. Warum hat das mehrschichtige neuronale Netz eine so niedrige Genauigkeit, nicht bis zu 50%?
Guten Tag, Dimitri.
Das Thema ist sehr interessant und notwendig. Ich danke Ihnen für diese Artikel).
1. Ich habe eine Frage zum Code der Methode Traine(... ):
Als ich die geänderte Version beim Training ausgeführt habe, haben sich die Ergebnisse verbessert:
Bereits bei Epoche 8 war die Genauigkeit 16,98% gegenüber der alten Variante bei der gleichen Epoche 10,87%
Danke für den Kommentar, Alexander. Ein unglücklicher Copy-Paste-Fehler.
Guten Tag, Dimitri.
2. Warum hat das mehrschichtige neuronale Netz eine so geringe Genauigkeit, nicht bis zu 50 %?
Ich habe im ersten Artikel geschrieben, dass ich zufällige Indikatoren aus Standardindikatoren mit Standardparametern genommen habe. Ein neuronales Netz ist ein gutes Werkzeug, aber nichts Übernatürliches. Es sucht nach Mustern, wo es welche gibt. Aber wenn es in den Rohdaten keine Muster gibt, findet es sie auch nicht von selbst. Ein Fraktal genau zu treffen, ist eine ziemlich schwierige Aufgabe, und um ehrlich zu sein, habe ich nicht erwartet, dass ich einen genauen Treffer landen würde. Aber das, was ich erhalten habe, gibt Anlass zu weiterer Arbeit.
Vielen Dank für Ihren Kommentar, Alexander. Ein bedauerlicher Fehler beim Kopieren und Einfügen.
Das kommt vor)
Ich habe im ersten Artikel geschrieben, dass ich Zufallsindikatoren aus Standardindikatoren mit Standardparametern genommen habe. Ein neuronales Netzwerk ist ein gutes Werkzeug, aber nicht etwas Übernatürliches. Es sucht nach Mustern, wo es welche gibt. Aber wenn es in den Rohdaten keine Muster gibt, findet es sie auch nicht von selbst. Ein Fraktal genau zu treffen, ist eine ziemlich schwierige Aufgabe, und um ehrlich zu sein, habe ich nicht erwartet, dass ich einen genauen Treffer landen würde. Aber das, was ich erhalten habe, gibt Anlass zu weiterer Arbeit.
Das macht Sinn).
Danke, deine Arbeit ist auf jeden Fall großartig )
Dmitry, guten Tag!
Eine sehr interessante Artikelserie über neuronale Netze. Im Moment experimentiere ich mit verschiedenen Indikatorensätzen und Aufgaben für das Netzwerk. Ich habe mich entschieden, dem Netzwerk die Aufgabe zu stellen, die Wahrscheinlichkeit des Auftretens des nächsten Balkens zu bestimmen, bei dem entweder das Hight-Level um 100 Punkte höher ist als das Open-Level des aktuellen Balkens oder bei dem das Low-Level um 100 Punkte niedriger ist als das Open-Level des aktuellen Balkens.
if(add_loop && i<(int)(bars-MathMax(HistoryBars,0)-1) && i>1 && Time.GetData(i)>dtStudied && dPrevSignal!=-2) { TempData.Clear(); double DiffMin=100; double DiffLow=Open.GetData(i+1)-Low.GetData(i); double DiffHigh=High.GetData(i)-Open.GetData(i+1); bool sell=(DiffLow>=DiffMin); bool buy=(DiffHigh>=DiffMin); TempData.Add((double)buy); TempData.Add((double)sell); TempData.Add((double)(!buy && !sell)); Net.backProp(TempData); ... }
Beim Testen des Expert Advisors werden die Bezeichnungen der vorhergesagten Fraktale im Diagramm angezeigt, aber die Statistik der korrekt vorhergesagten und nicht gefundenen Fraktale wird nicht aktualisiert und ist immer gleich 0,00 %. Können Sie mich auf den Fehler hinweisen, den ich gemacht habe?
if(DoubleToSignal(dPrevSignal)!=Undefine) { if(DoubleToSignal(dPrevSignal)==DoubleToSignal(TempData.At(0))) dForecast+=(100-dForecast)/Net.recentAverageSmoothingFactor; else dForecast-=dForecast/Net.recentAverageSmoothingFactor; dUndefine-=dUndefine/Net.recentAverageSmoothingFactor; } else { if(sell || buy) dUndefine+=(100-dUndefine)/Net.recentAverageSmoothingFactor; }
- www.mql5.com
Dimitri, guten Tag!
Eine sehr interessante Artikelserie über neuronale Netze. Im Moment experimentiere ich mit verschiedenen Indikatorensätzen und Aufgaben für das Netzwerk. Ich habe mich entschieden, dem Netzwerk die Aufgabe zu stellen, die Wahrscheinlichkeit des Auftretens des nächsten Balkens zu bestimmen, bei dem entweder das Hight-Level um 100 Punkte höher ist als das Open-Level des aktuellen Balkens oder bei dem das Low-Level um 100 Punkte niedriger ist als das Open-Level des aktuellen Balkens.
Beim Testen des Expert Advisors werden die Bezeichnungen der vorhergesagten Fraktale im Diagramm angezeigt, aber die Statistik der korrekt vorhergesagten und nicht gefundenen Fraktale wird nicht aktualisiert und ist immer gleich 0,00 %. Können Sie mich auf den Fehler hinweisen, den ich gemacht habe?
Guten Tag,
Sie haben Diff=100 angegeben, soweit ich das verstehe, ist es in Pips. Und die Differenz wird nach dem Preis berechnet. D.h. für EURUSD wird sie berechnet als 1.16715-1.15615=0.01. Infolgedessen haben Sie keine vergleichbaren Daten und verkaufen und kaufen wird immer falsch sein.
Guten Tag,
Sie haben Diff=100 angegeben, soweit ich das verstehe, ist es in Punkten. Und die Differenz wird nach dem Preis berechnet. D.h. für EURUSD wird sie berechnet als 1.16715-1.15615=0.01. Infolgedessen haben Sie keine vergleichbaren Daten und Verkauf und Kauf werden immer falsch sein.
Ich habe eine Frage: Warum zum Teufel studieren das Thema eine ganze Reihe von mega abstruse Artikel, wenn dieses neuronale Netz hat vernachlässigbare Genauigkeit ... Ich denke, das Thema sollte entweder eingestellt werden oder der EA sollte verbessert werden.
Ich möchte hinzufügen, dass mein neuronales Netzwerk viel "komplexer" ist als Ihres, aber es ist garantiert, 70-80% der richtigen Eingaben zu geben und gleichzeitig ist es viel einfacher in der Struktur ...
und ich möchte hinzufügen, dass es eine Menge anderer neuronaler Netze gibt, die eine viel bessere Genauigkeit haben als das Ihre.
Generell habe ich den Eindruck, dass Sie für Ihre Artikel Geld bekommen, aber sie nützen Ihnen nichts ... Es tut mir leid.
Ich stimme auch nicht mit dem Titel "Neuronale Netze sind einfach" überein, diejenigen, die sich mit maschinellem Lernen auf großen Daten beschäftigen, wissen - es ist nicht einfach ... :-)
>Um die Leistung des Netzes zu bewerten, kann man den mittleren quadratischen Fehler der Vorhersage, den Prozentsatz der richtig vorhergesagten Fraktale und den Prozentsatz der verfehlten Fraktale verwenden.
Damit bin ich überhaupt nicht einverstanden - das Ergebnis ist nur die Endbilanz, der Nettogewinn und sonst nichts ... gar nichts, das ist nicht Wissenschaft um der Wissenschaft willen, das ist Wissenschaft für den Profit.
Ich sage Ihnen auch, warum: Es gibt Expert Advisors mit einer Genauigkeit von 60% ... aber dank eines ausgeklügelten Systems bringen sie mehr Gewinn als Advisors mit 80% Genauigkeit ...
und Sie sollten mit dem Diagramm der endgültigen Handelsstatistiken Ihres EA beginnen, sonst hat es keinen Sinn, es zu lesen, ich schalte sofort ab, wenn es keine Statistiken gibt oder es nicht meinen Anforderungen entspricht, dann können Sie überhaupt nicht lesen, unten ist der Test meiner nicht sehr klugen neuronka
und Sie sollten mit dem Diagramm der endgültigen Handelsstatus Ihrer EA beginnen oder es hat keinen Sinn, es zu lesen, schalte ich sofort nach unten, wenn es keinen Zustand oder es entspricht nicht meinen Anforderungen, dann kann man nicht lesen überhaupt, unten ist der Test meiner nicht sehr intelligent neuronka.
dann brauchen Sie nicht den Artikel Abschnitt.
Für deine Anforderungen - einen profitablen Steith, sind die Bereiche Codobase und Market geeignet.
ja, übrigens, auch Ihre Nachricht passt nicht zu Ihren Anforderungen, so kann es auch ignoriert werden? )))
Sie brauchen Artikel, Sie brauchen sie, um einen EA, der auf der Basis eines neuronalen Netzwerks arbeitet, richtig zu testen, es gibt eine hohe Wahrscheinlichkeit, dass Ihr Zustand von einem Tester ist, nicht nur von MT4, aber Sie können die Trainingsstichprobe nicht in train/test/validation aufgeteilt haben.
Sie brauchen Artikel, um zu lernen, wie man gut strukturierten und lesbaren Code schreibt - ich denke, der Code des Autors in dem Artikel ist perfekt für diese Anforderungen.
- 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 leicht gemacht (Teil 2): Netzwerktraining und Tests :
In diesem zweiten Artikel werden wir uns weiter mit Neuronalen Netzen befassen und ein Beispiel für die Verwendung unserer geschaffenen Klasse CNet in Expert Advisors besprechen. Wir werden mit zwei Modellen neuronaler Netze arbeiten, die ähnliche Ergebnisse sowohl hinsichtlich der Trainingszeit als auch der Vorhersagegenauigkeit zeigen.
Die erste Epoche hängt stark von den Gewichten des Neuronalen Netzes ab, die in der Anfangsphase zufällig ausgewählt wurden.
Nach 35 Epochen Training nahm der Unterschied in der Statistik leicht zu - das Regressionsmodell des Neuronalen Netzes schnitt besser ab:
Die Testergebnisse zeigen, dass beide Varianten der Organisation des Neuronalen Netzes ähnliche Ergebnisse in Bezug auf Trainingszeit und Vorhersagegenauigkeit erzielen. Gleichzeitig zeigen die erzielten Ergebnisse, dass das Neuronale Netz zusätzliche Zeit und Ressourcen für das Training benötigt. Wenn Sie die Lerndynamik des neuronalen Netzes analysieren möchten, sehen Sie sich bitte die Screenshots der einzelnen Lernepochen im Anhang an.
Autor: Dmitriy Gizlyk