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

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

Ansichten:
831
Rating:
(46)
Veröffentlicht:
2016.05.04 10:03
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
Klasse, die ein neuronales Netzwerk für radiale Basisfunktionen (Radial Basis Function Network - RBFN) implementiert.

Hier wird die klassische Realisierung von RBFN gezeigt, die zwei Layer von Neuronen enthält: versteckte Layer Neuronen mit radial symmetrischer Aktivierungsfunktion und Exitlayer von linearer und sigmoidaler Aktivierungsfunktion.

Die Aktivierungsfunktion des Ausgabelayers wird automatisch für das Training des Netzwerkes abhängig von der Ausgabe der Testdaten gewählt. Für den Bereich von -1 bis 1 wird die hyperbolische Tangente angewendet, für den Bereich 0 .. 1 die sigmoidale. Wenn die Ausgabe der Testdaten über den Bereich von -1 .. 1 hinaus geht, wird die Aktivierungsfunktion nicht verwendet.

Der Erstellung des Netzwerkes wird als parametrischer Klassenkonstruktor bezeichnet.

CNetRBF * net =new CNetRBF (die Größe des Eingabevektors, die maximale Anzahl von Neuronen im versteckten Layer, die Größe des Ausgabevektors);

Wenn ein Netzwerk erstellt wird, wird die maximale Anzahl von Neuronen im versteckten Layer erstellt die dann vom Netzwerk verwendet werden können. Die aktuelle Anzahl von notwendigen Neuronen hängt vom Lern-Netzwerk ab.

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. Der Lernprozess wird entweder durch die Anzahl der Lerndurchläufe oder zulässige Fehler beschränkt.

Die Lernmethode gibt folgende Werte zurück:

      0 - Netzwerklernen abgeschlossen und Lernergebnis kann überprüft werden durch die Klassenvariablen: mse – Lernfehler, epoch – Anzahl der abgeschlossenen Lernzyklen und neurons - Anzahl der Neuronen im versteckten Layer;
     -3 - nicht genug Neuronen im versteckten Layer;

     -4 - nicht genug Speicher.

Die Calculate Methode (Eingabevektor Array, Netzwerkantwort Array) wird verwendet um Netzwerkantworten zu erhalten.

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.

Verwendung der Klasse wird in angehängten Mustern gezeigt:Test_RBFN_XOR - Netzwerklernen von "excluding OR", Test_RBFN_MUL_ADD - Netzwerklernen von Multiplikation und Addition von Ganzzahlen. Es wird vorausgesetzt, dass Klasse und Beispieldateien im selben Ordner gespeichert sind.

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

PriceChanel_HTF PriceChanel_HTF

Der Price Channel Indikator. Er zeichnet die Linie von Hochs und Tiefs der letzten N Balken von einem höheren Timeframe

OsHMA OsHMA

Der OsHMA Oszillator ist der Indikator des Unterschieds zwischen zwei HMA (zwischen zwei Hüllen-MA's).

Exp_XMA_Ishimoku_Channel Exp_XMA_Ishimoku_Channel

Ausbruchsystem, das den XMA_Ishimoku_Channel Indikator verwendet.

HeikinAshi_SepWnd HeikinAshi_SepWnd

Der Heikin Ashi Indikator wird in einem separaten Fenster mit der Möglichkeit zur Wahl einer Periode gezeichnet