Forex GPT MA
- Experten
- Evgeniy Kuzevanov
- Version: 1.1
- Aktivierungen: 5
Dieser Advisor erstellt eigenständigein neuronales Netzwerk und wird während des Betriebs oder beim Start im Strategietester trainiert; das Netzwerk wird aus den durchschnittlichen Kurswerten (basierend auf dem Indikator Gleitender Durchschnitt) erstellt.
Siehe mein Profil für meine anderen Produkte.
Der Advisor verwendet keine Bibliotheken von Drittanbietern, stellt keine Verbindungen her, alle Berechnungen finden innerhalb des Advisors statt, mit der Möglichkeit, die Daten des neuronalen Netzes und alle seine Parameter beim Training, beim Neustart oder bei der Übertragung auf ein anderes Terminal zu speichern, indem die während des Betriebs erstellten Dateien verwendet werden!
1) Grundlegendes Prinzip der Funktionsweise.
2 Aufbau eines neuronalen Netzes.
3. die Überprüfung der Optionen des neuronalen Netzes.
4 Block für die Eröffnung und Berechnung von virtuellen Aufträgen.
5) Filter zur Analyse und Auswahl virtueller Aufträge.
6 Beschreibung der Eingabeparameter.
1. grundlegendes Funktionsprinzip.
Dieser Advisor verwendet und erstellt in seiner Arbeit ein neuronales Netz unter Verwendung der Durchschnittspreiswerte. Für den Durchschnittspreis verwenden wir den Indikator Gleitender Durchschnitt. Bei jedem neuen Balken baut der Advisor ein Gitter von Zellen auf, das auf vergangenen Daten basiert, und prüft, ob die Zelle einen Durchschnittspreis enthält. Zum Aufbau eines Netzes verwenden wir die x- und y-Koordinatenachse; befindet sich der Durchschnittspreis in einer Zelle, schreibt er - 1 hinein; ist kein Preis vorhanden, dann - 0. Auf diese Weise wird eine Variante des Netzes gebildet, und das geschieht bei jedem neuen Balken, dann prüft der Berater in seinem neuronalen Netz, ob es eine solche Standortoption gibt, und wenn nicht, dann fügt er diese Option dem Netz hinzu und gibt ein Signal, um virtuelle Orders zu öffnen, und wenn sie bereits existiert, dann beginnt der Block zur Berechnung virtueller Orders, virtuelle Orders zu öffnen und Preisänderungen zu verfolgen und entweder Gewinn oder Verlust für jede Option aufzuzeichnen, die sich im Netz befindet. Auf diese Weise berechnet der Berater virtuell jede Option und akkumuliert die Geschichte der Transaktionen für jede Option des neuronalen Netzes.
Anschließend werden die virtuellen Aufträge mit Hilfe von 3 Filtern gefiltert, und wenn die Kriterien erfüllt sind und Signale aus dem Netz vorliegen, werden sie in den Handel gegeben. Wenn diese Option aktiviert ist, kann der Berater alle Arbeitsdaten in Dateien speichern, um aus der Historie zu lernen oder um sie auf ein anderes Terminal zu übertragen.
2 Aufbau eines neuronalen Netzes.
Um zu verstehen, wie der Advisor sein neuronales Netz aufbaut, schauen wir uns das Bild Nr. 1https://c.mql5.com/31/1112/forex-gpt-ma-screen-2118.jpg an:
Wir sehen ein Preisdiagramm mit dem Indikator Gleitender Durchschnitt mit dem Wert Periode=2 und einem Raster (rote Linien) von Netzwerkzellen. Entlang der X-Achse nehmen wir Balken, die in Schritten oder pro Balken verwendet werden können, in der Abbildung wird Schritt=4 verwendet. Entlang der Y-Achse nehmen wir die Werte des Eröffnungskurses des aktuellen Balkens und bilden ein Gitter nach oben, indem wir das Delta addieren, und nach unten, indem wir das Delta subtrahieren.
Das sieht dann so aus: Der Advisor schaut sich den aktuellen Balken an, und wenn es in der Zelle Werte des Indikators Gleitender Durchschnitt gibt, dann schreibt er 1 in diese Zelle, wenn es dort keinen Wert des Indikators Gleitender Durchschnitt gibt, dann schreibt er 0.
Die Konstruktion des Netzes geht von der oberen linken Zelle von links nach rechts abwärts zeilenweise vor sich, wenn die Advisor-Option Filesave=true aktiviert ist, werden die Daten des neuronalen Netzes zeilenweise in die Datei geschrieben, jede Zeile in der Datei ist eine in eine Zeile rektifizierte Version des Netzes in der Reihenfolge seiner Konstruktion - die obere linke Zelle von links nach rechts abwärts Bild Nr. 2 https://c.mql5.com/31/1112/forex-gpt-ma-screen-3578.png .
In dieser Abbildung speichert der Inhalt der Datei *_neural.csv Varianten des neuronalen Netzes; jede Zeile ist eine Variante des neuronalen Netzes mit den Werten 0 und 1.
In diesem Fall handelt es sich um die Bildung eines Netzes x=4 y=11 und delta=70, um dies visuell zu sehen, müssen Sie die 1. Zeile durch x=4 y=11 unterbrechen - Bild Nr. 3: https://c.mql5.com/31/ 1112/forex-gpt-ma-screen-6086.png
Das Gleiche ist im Modus "Enable panel=true" des Informationspanels zu sehen.
Dieses Beispiel zeigt deutlich, wie ein Netz aus x=4 y=11 und step=1 gebildet wird - Bild Nr. 4: https://c.mql5.com/31/1112/forex-gpt-ma-screen-1840.png
Die Balken werden wie folgt gebildet: von rechts nach links 0,1,2,3 und im Netz kostet die rechte Spalte in der Mitte 1, dann die zweite Spalte in der Mitte auch 1 und in der dritten Spalte kostet 1 mehr als die 1, die vorher waren, weil der Preis dort höher ist als sie und in der linken Spalte ist 1 sogar niedriger als diese Einheiten, weil der Preis dort niedriger war als diese Werte.
Auf diese Weise wird ein neuronales Netz gebildet, das als Datenfeld im Speicher des Advisors gespeichert wird und bei aktivierter Option Filesave=true jeden Montag in die Dateien MQL4/files/ beim Handel und beim Testen in tester/files/ hochgeladen wird.
3. die Überprüfung der Optionen des neuronalen Netzes.
Nachdem eine Variante des neuronalen Netzes gebildet wurde, überwacht der Berater die neue Netzvariante bei jedem neuen Takt, wenn sie sich von der bereits vorhandenen unterscheidet, fügt er sie zu seiner Datenbank hinzu, während er virtuelle Aufträge in beide Richtungen öffnet, so dass der Berater sowohl den Verkauf als auch den Kauf für jede Netzoption verfolgt, und dann, wenn er analysiert, welche Verkaufs- oder Kaufoption eine gute Bewertung hat, handelt er. Bei jedem Balken prüft der Berater, als ob er ein Netzwerk aufbauen würde, wie der Indikator sich dort befindet und trifft dementsprechend eine Entscheidung; wenn es keine solche Option gibt, fügt er sie hinzu, wenn es sie gibt, eröffnet er virtuelle Aufträge. Dies wird fortgesetzt, während der Advisor arbeitet.
4) Block für die Eröffnung und Berechnung virtueller Orders.
Der Advisor implementiert einen Mechanismus zum Öffnen und Analysieren bereits geöffneter virtueller Orders. Mit Hilfe von Variablenarrays verfolgt der Advisor die Signale des Blocks des neuronalen Netzes und beginnt nach Erhalt zu beobachten, wie sich der Preis mit jedem Balken verändert, indem er die Werte des ersten Balkens (open, high, low, close) verwendet. Unter Berücksichtigung der Handelsrichtung berechnet der Block den Gewinn für jeden Auftrag und berechnet jede Netzwerkoption. Die Berechnungen verwenden die Werte des maximalen Gewinns und des minimalen Drawdowns, den Gewinnfaktor, den Gewinn und den Verlust sowie die Anzahl der Aufträge für jede Netzwerkoption. Wenn es also 20 Optionen im neuronalen Netz gibt, dann gibt es im Block der virtuellen Aufträge 20 Optionen für die Variablen SL, TP, PF, DD, Ordercount für Verkauf und die gleichen Werte für Kauf. Alle diese Werte werden im Speicher des EA als ein Array von Daten gespeichert; wenn die Option Filesave=true aktiviert ist, lädt der EA diese Werte in die folgenden Dateien hoch: MQL4/files/ beim Handel und beim Testen in tester/files/:
*_buy_d1_v1.csv, *_buy_d1_v2.csv und deren Kopien für alle Fälle.
*_sell_d1_v1.csv, *_ sell _d1_v2.csv und deren Kopien für alle Fälle.
Jede Zeile enthält die Werte von SL, TP, PF, DD, ordercount für eine Netzwerkoption. (siehe Bild Bild Nr. 5: https: //c.mql5.com/31/1112/forex-gpt-ma-screen-3958.png )
*_data.csv - Informationen über das Upload-Datum, die Anzahl der Netzwerk-Optionen und wie viel Gewinn durch Filter wird hier geschrieben, die Gesamtbilanz. Anhand dieser Datei können wir feststellen, von welchem Datum bis zu welchem Datum der Berater eine Historie für den Neustart oder bei der Übertragung nach dem Training auf die Historie angesammelt hat.
(5) Filter für die Analyse und Auswahl virtueller Aufträge.
Alle Netzwerkoptionen werden als virtuelle Aufträge betrachtet. Trotz der Tatsache, dass jede Netzwerkoption Statistiken über zwei Handelsrichtungen auf einmal führt, sowohl Kauf als auch Verkauf. Alle Werte können gut und schlecht, unrentabel und positiv sein; um die besten Optionen zu finden, wird ein Filter erstellt, der aus allen Werten die besten nach einem bestimmten Kriterium auswählt. Es sind 3 Arten von Filtern implementiert:
Die folgenden Berechnungen werden für Filter verwendet:
Filtr1 - Nach maximalem Gewinn.
Filtr2 - Nach maximalem Gewinn*Gewinnfaktor.
Filtr3 - Nach maximalem Gewinn*Gewinnfaktor*Anzahl der Aufträge.
Jeder Filter kann ein- und ausgeschaltet werden; wenn die Filter eingeschaltet sind, ist es möglich, 3 Aufträge auf einmal zu eröffnen.
6. die Eingabeparameter
Magicnumber - Nummer zur Identifizierung Ihrer Aufträge;
Lot - Größe des Lots;
On/off MM - Aktivieren oder Deaktivieren der Geldverwaltung;
Risiko % - Prozentualer Anteil der Einlage für MM;
Enable Panel - Aktivieren Sie das Informationspanel;
panel fon Color - Hintergrundfarbe des Informationspanels;
panel text Color - Textfarbe des Informationspanels;
breakeven on/off - Breakeven aktivieren;
breakeven distance - Abstand zum Einschalten für die Übertragung von SL auf +;
breakeven pips - wie viele Punkte, um SL auf + zu setzen;
Trailing ein/aus - Trailing-Stop aktivieren;
MinProfit für Trailing - Abstand für die Aktivierung der Übertragung von SL auf +;
TrailingStop - wie viele Punkte, um SL auf + zu setzen;
TrailingStep - wie viele Punkte, um SL auf + zu verschieben;
Filesave - Wenn aktiviert, speichert der Advisor alle Parameter in Dateien im *.scv-Format - beim Testen im Terminal-Ordner tester/files/folder with advisor parameters/filename*.scv. Beim Handel im MQL4-Terminalordner/Dateien/Ordner mit advisor parameters/filename*.scv
Filename - Dateinamen zum Speichern von Informationen: Filename_buy.csv, Filename_buy_copy.scv, Filename_sell.csv, Filename_sell_copy.scv, Filename_data.csv, Filename_data_copy.scv, Filename _neural .csv, Filename _neural _copy.scv;
PF - Mindestwert des Gewinnfaktors für die Filterung der virtuellen Aufträge;
MA - Periode des Indikators Gleitender Durchschnitt für die Bestimmung des neuronalen Netzes;
SL* - Stop-Loss-Wert - 16 Berechnungsoptionen;
TP* - Take Profit Wert - 16 Berechnungsmöglichkeiten;
k_sl_tp - Koeffizient für die Multiplikation der SL TP Werte;
delta - Bereich der Preiswerte in Punkten, um ein Netz entlang der Y-Achse zu bilden;
Schritt - Schritt in Balken, um ein Netzwerk entlang der X-Achse zu bilden;
Input net_x - Anzahl der Zellen entlang der X-Achse;
Input net_y - Anzahl der Zellen entlang der Y-Achse;
profittestmax - Mindestgewinn für virtuelle Orders, um reale Orders zu eröffnen;
dd_max - maximaler Drawdown für virtuelle Orders, bei dessen Überschreitung die Auswahl für den realen Handel nicht gefiltert wird;
NumberOfTry - Anzahl der Versuche, Aufträge zu öffnen und zu ändern;
Schlupf - Schlupf;
Ergebnis:
Nachdem die virtuellen Orders gefiltert wurden, gibt es noch eine weitere Option: profittestmax, bei der der Gewinn in der Einzahlungswährung angegeben wird, z.B. 50, was bedeutet, dass der reale Handel erst dann beginnt, wenn der Gewinn der virtuellen Orders für die Netzwerkoptionen diese Werte überschreitet.
Es stellt sich heraus, dass der Berater die Parameter selbst zu optimieren scheint, indem er alle SL-TP-Optionen berechnet und daraus die besten Optionen auswählt und dann auf deren Grundlage toruget.
Wenn die Option Filesave=true aktiviert ist, werden die Dateien einmal pro Woche geschrieben - am Montagmorgen.
Wenn Sie sich fragen, warum das Netzwerk nur aus maximal x=4 und y=13 besteht, dann ist die Antwort: Je größer das Netzwerk ist, desto mehr Optionen hat es, die sich in der Geschichte weniger wiederholen und daher gibt es wenig Statistik über sie, dies erhöht auch die Ressourcen und die Zeit Computerbetrieb für die Suche und das Training des Netzwerks, und es gibt einen weiteren wichtigen Parameter: die Möglichkeit der Speicherung von Variablen ist auch nicht unbegrenzt und wird durch die Fähigkeiten der Programmiersprache MQL4 begrenzt. Nach umfangreichen Tests und Optimierungen wurden die maximalen Parameter genau bei x=4 und y=13 belassen.

