Neuronales Netz in Form eines Skripts - Seite 5

 
Blast:

Wie verwende ich das? Setzen Sie ein Skript auf das Diagramm, Stapel von Zahlen begann zu schreiben ... Was sagen diese Zahlen aus?

Die Zahlen, die überschrieben werden (aus Gründen der Übersichtlichkeit), sind die Gewichte der Neuronen, die sich im Lernprozess anpassen (siehe oben zum Zweig).

Hier ist ein Beispiel für einen Indikator, der die allererste Version des Rasters verwendet, die am Anfang des Zweigs veröffentlicht wurde.

Eingaben

               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 2 )) test_pat[0] = 0.1 ; else test_pat[0] = 0.9;
               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 3 )) test_pat[1] = 0.1 ; else test_pat[1] = 0.9;
               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 4 )) test_pat[2] = 0.1 ; else test_pat[2] = 0.9;
               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 5 )) test_pat[3] = 0.1 ; else test_pat[3] = 0.9;

Ausgabe

               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 1 )) desired[0] = 0.1 ; else desired[0] = 0.9;
               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 1 )) desired[1] = 0.1 ; else desired[1] = 0.9;

Die Ein- und Ausgänge dienen nur als Beispiel. Das ist nicht die beste Option.

Die beste Variante muss gesucht und ausprobiert werden.

Dateien:
 
sprite:

Ein- und Ausreise sind nur ein Beispiel. Denn dies ist nicht die beste Option.

Es muss die beste Option gesucht und ausprobiert werden.

Haben Sie versucht, die Wahrscheinlichkeit einer vorhergesagten Richtung als Ausgang zu erhalten, zumindest in der einfachen Option von oben/unten?

 
SK. писал (а):
sprite:

Ein- und Ausreise sind nur ein Beispiel. Denn dies ist nicht die beste Option.

Es muss die beste Option gesucht und ausprobiert werden.

Haben Sie versucht, die Wahrscheinlichkeit einer vorhergesagten Richtung als Ausgang zu erhalten, zumindest in der einfachen Option von oben/unten?

Wie kodieren Sie es(Wahrscheinlichkeit der vorhergesagten Richtung)?
 
sprite:
Wie kann sie(die Wahrscheinlichkeit der vorhergesagten Richtung) kodiert werden?

Das muss doch irgendwie möglich sein. Sie erhalten eine Art von 0 und 1 in der Ausgabe.

Zum Beispiel: 01 = 50%, 10 = 50%, 00 = -100%, 11 = +100%.

Wenn Sie sich ein wenig mehr Mühe geben, können Sie eine Art von Feedback vorschreiben - um die tatsächliche Richtung zu überprüfen.

 

Die Zielfunktion für das Gittertraining ist eine interessante Frage!

Es wird in dem Buch von Ezhov, Shumsky "Neurocomputing and its applications in economics and business" behandelt.

 
Freunde, vergesst diesen mql. Es ist langsam. Sie sollten ein Netz in C++ schreiben, es lernen und dann die vorbereiteten Koeffizienten in das mql-Programm eingeben. Es gibt sogar Leute, die versuchen, die Videokarte während der Ausbildung zu laden, wie verdreht sie auch sein mag, um Zeit zu sparen, während Sie sie vergeuden.
 
Wisard писал (а) >>
Meine Freunde, vergesst diesen mql. Es ist langsam. Sie sollten das Netz in C++ schreiben, es lernen und dann die vorbereiteten Koeffizienten in ein mql-Programm einfügen. Die Leute versuchen sogar, während der Ausbildung eine Videokarte zu laden, egal wie sie es drehen, um Zeit zu sparen, während Sie sie vergeuden.

das ist offensichtlich... natürlich ist es langsam

aber das hat nicht verhindert (der gute Programmierer BESSER, es in den MQL4-Code zu implementieren)

das ist nicht der Punkt

Ich habe hier ein einfaches Beispiel gegeben, ein einfaches Raster: in C braucht das Raster ein paar Sekunden, um zu trainieren, während es in MQL bis zu mehreren Minuten oder sogar Stunden dauert

und das trainierte Gerät mit einer akzeptablen Geschwindigkeit arbeitet - d. h. wenn Sie es nicht bei jedem Schritt neu trainieren

das PNN-Netzwerk ist sehr schnell! in C ist es entweder in MQL4 oder im langsamsten Skript - in der Praxis wird es nicht auftauchen

weil man keine Entscheidungen treffen muss, als ob man Flöhe fangen würde - die Geschwindigkeit der Maschine reicht aus

aber ich würde das Netz lieber in C erstellen und schreiben - so kann man es schnell trainieren, modifizieren, neue Funktionen hinzufügen und es in Tests einsetzen.

Die Migration zu MQL4 macht keinen Sinn... mit Ausnahme der CHAMPIONSHIP.

 
SK. писал (а) >>

Haben Sie versucht, die Wahrscheinlichkeit einer vorhergesagten Richtung als Ausgabe zu erhalten, zumindest in einer einfachen Auf/Ab-Version?

Sergei, ich denke, die Aufgabe hier ist nur, die aktuelle Richtung zu zeigen und schnell zu informieren, wenn sie sich ändert

Es ist keine Vorhersage dessen, was kommen wird, sondern ein Hinweis auf das, was im Moment geschieht,

es ist ein Versuch, eine offene Position in der richtigen Richtung zu halten, ohne sie gegen die Anweisungen verstoßen zu lassen

die Eröffnung selbst kann auf der Grundlage verschiedener Filter und anderer Indikatoren erfolgen, z. B. einer Divergenz für eine Divergenz in einem kleineren Zeitrahmen

vielleicht ist das Netz eines anderen so gut, dass es keine zusätzliche Manipulation erfordert

 
YuraZ писал (а) >>

das ist offensichtlich... natürlich ist es langsam

aber das hat nicht verhindert (der gute Programmierer BESSER, es in den MQL4-Code zu implementieren)

das ist nicht der Punkt

Ich habe hier ein einfaches Beispiel gegeben, ein einfaches Raster: in C braucht das Raster ein paar Sekunden, um zu trainieren, während es in MQL bis zu mehreren Minuten oder sogar Stunden dauert

und das trainierte Gerät mit einer akzeptablen Geschwindigkeit arbeitet - d. h. wenn Sie es nicht bei jedem Schritt neu trainieren

das PNN-Netzwerk ist sehr schnell! in C ist es entweder in MQL4 oder im langsamsten Skript - in der Praxis wird es nicht auftauchen

weil man keine Entscheidungen treffen muss, als ob man Flöhe fangen würde - die Geschwindigkeit der Maschine reicht aus

aber ich würde das Netz lieber in C erstellen und schreiben - so kann man es schnell trainieren, modifizieren, neue Funktionen hinzufügen und es in Tests einsetzen.

Die Migration zu MQL4 macht keinen Sinn... mit Ausnahme der CHAMPIONSHIP.

Vielleicht sollte man den Weg gehen, eine DLL in C++ zu verbinden, um MQL zu beschleunigen. Schreiben Sie einige universelle Templates-Funktionen in C++, auch wenn es in etwa das Gleiche wie NSDT ist. Übrigens hat BETTER alles in C++ geschrieben und das Endergebnis in MQL übersetzt.
 
YuraZ писал (а) >>

DIESES NETZWERK

DAS GLEICHE NETZWERK, aber geschrieben in Microsoft Visual C++ 6.0

Die Geschwindigkeit ist um Größenordnungen höher als in MQL4

der Algorithmus wurde nicht geändert, die Übertragung von MQL4 nach C++ ist so einfach wie möglich, ohne Verwendung von Objektklassen

Ich konnte keine dll-Datei finden. Wenn Sie das können, sagen Sie mir bitte, wie ich eine solche erstellen kann.

Grund der Beschwerde: