Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Twitter!
und werden Sie Mitglied unserer Fangruppe
Interessantes Skript?
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Hat Ihnen das Skript gefallen?
Bewerten Sie es im Terminal MetaTrader 5
Bibliotheken

PNN Neural Network Class - Bibliothek für den MetaTrader 5

Ansichten:
891
Rating:
(50)
Veröffentlicht:
2016.05.13 13:38
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Diese Klasse realisiert ein probabilistisches neuronales Netzwerk (Probabilistisches Neuronales Netzwerk - PNN).

Der Erstellung des Netzwerkes wird als parametrischer Klassenkonstruktor bezeichnet.

CNetPNN *net=new CNetPNN(Größe des Eingabevektors, Anzahl von Klassen (Klassifizikationsziele));

Die Nummerierung der Klassen (Klassifikationsziele) beginnt bei Null und muss durchgehend sein. Wenn zum Beispiel 3 Klassen eingestellt werden, müssen die Nummern der Klassen lauten: 0, 1, 2.

Das Lern-Netzwerk wird durch Aufruf der Lernmethode (die Anzahl der Lernmuster, Eingabe Datenarray, Ausgabe Datenarray, die Anzahl von Lernzyklen, der maximale Lernfehler) zur Verfügung gestellt.

Eingabe und Ausgabe Lerndaten werden in einem eindimensionalen Array Vektor für Vektor gespeichert. Für jeden Eingabelernvektor muss eine Klassennummer in den Eingabedaten definiert werden. Der Lernprozess ist entweder durch Lernzyklen beschränkt oder den erlaubten Fehler.

Die Lernmethode gibt folgende Werte zurück:

  •  0 - Das Lernen des Netzwerkes wurde beendet und das Lernergebnis kann durch die Klassenvariablen mse – Lernfehler, epoch – Anzahl von ausgeführten Lernzyklen überprüft werden;
  • -1 - nicht-existente Klasse von Eingabelerndaten;
  • -4 - nicht genug Speicher. 

Um eine Antwort des Netzwerks erhalten dient die Calculate-Methode (Eingabe Vektor-Array). Die Calculate-Methode gibt die Klassennummer entsprechend dem Eingabe Vektor oder -1 zurück, wenn das Netzwerk nicht gelernt hat.

Save (open file handle mit FILE_WRITE und FILE_BIN Flags) und Load (open file handle mit FILE_READ und FILE_BIN Flags) Methoden dienen dem Speichern des Netzwerks in eine Datei und dem Laden des Neztwerks von dieser Datei. Netzwerktopologie, Lernfehler und Arraygewichtungen werden in die Datei gespeichert. Wenn die Parameter der geladenen Netzwerktopologie sich von den Parametern der etablierten Netzwerktopologie unterscheidet, wird das Netzwerk nicht geladen und die Load-Methode gibt false zurück.

Die Verwendung der Klasse wird im angehängten Muster gezeigt: Test_PNN_XOR - Netzwerk zum Lernen der Funktion "exklusives ODER". 

Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/1323

ATR_MA_Oscillator ATR_MA_Oscillator

Der ATR MA Oszillator in ein Oszillator der auf Basis des Unterschieds zwischen dem ATR Oszillator und seiner Signallinie gezeichnet wird.

Delta ZigZag Delta ZigZag

Der Delta ZigZag definiert die Umkehr auf einer minimalen Höhe des Schwunges und identifiziert auch den Trend bei einem Ausbruch über lokale Minimum-/Maximumlevel und färbt die ZigZag-Abschnitte in der aktuellen Trendfarbe ein

GRNN Neural Network Class GRNN Neural Network Class

Diese Klasse realisiert ein generalisiertes Regressionsnetzwerk (General Regression Neural Network - GRNN)

iSarX4 iSarX4

Vier Parabolic Indikatoren gleichzeitig!