Neural Transformer
- Experten
- Evgeniy Scherbina
- Version: 1.0
- Aktivierungen: 10
Der Experte "Neural Transformer" ist ein vollautomatischer Experte, der für den Handel auf dem täglichen Zeitrahmen mit 2 Symbolen bereit ist: GBPUSD und USDCAD.
Darüber hinaus können Sie den Experten für den Handel auf einem beliebigen Zeitrahmen mit einem beliebigen Symbol trainieren. Der Experte übernimmt automatisch die Dateien Ihres neuen angepassten neuronalen Netzwerks.
Der "Neural Transformer" hat das Training neuronaler Netzwerke für den Forex-Handel zu einem einfachen und spannenden Prozess gemacht! Derzeit biete ich nur einen Netzwerktyp an - LSTM. Es ist das beliebteste neuronale Netzwerk für die Klassifizierung und Vorhersage von Zeitreihendaten. Ich werde in naher Zukunft 2 weitere Netzwerktypen hinzufügen: Multi Head Attention und ATFnet (der fortschrittlichste und umstrittenste Typ, der Fourier-Transformation und komplexe Zahlen beinhaltet).
Handel
Der Experte ist bereit für den Handel auf dem täglichen Zeitrahmen mit 2 Symbolen: GBPUSD und USDCAD. Wenn Sie ein anderes Training absolviert haben, starten Sie den Experten mit der Eigenschaft Action = Trade. Und das war's.
Training (siehe Bilder)
Ein Beispiel für ein EURUSD-Training, Zeitrahmen D1
1) Die Datenerfassung erfolgt im Strategy Tester
Wählen Sie im Strategy Tester die folgenden Optionen:
Expert: Neural Transformer
Symbol: EURUSD
Datum: 2004.01.01 - 2024.04.01
Modellierung: Nur offene Kurse
Wählen Sie die folgenden Optionen in den Eingaben des Experten:
Aktion = Daten sammeln
Zeitrahmen = D1
Anzahl der Balken = 30
Anzahl der Prognosebalken = 20
Andere Optionen sind für die Datenerfassung nicht von Bedeutung. Die Option "Nur offene Kurse" ermöglicht die Datenerfassung für Sekunden. Andere Werte dieser Option verbessern die Daten nicht, können aber die Ausführungszeit erheblich verlängern.
Klicken Sie im Strategy Tester auf "Start", um Daten zu sammeln.
Nach einigen Sekunden erscheinen 2 Einträge im Protokoll des Strategietesters: "Training complete EURUSD D1 LSTM | patterns 5261" und "Collect_data file saved to ..."
Sie können die Datendatei öffnen und sie am angegebenen Ort einsehen.
2) Das Training wird im Strategy Tester durchgeführt
Wählen Sie in den Eingaben des Experten die folgenden Optionen:
Aktion = Train
Zeitrahmen = D1
Anzahl der Bars = 30
Epochen = 1000
Anzahl der LSTM-Schichten = Eine
Anzahl der Dense-Schichten = Eine
Lernrate = 0. 01
Decay für Lernrate = 0.1
Geduld = 50
Neuronen pro Schicht = 32
Validierungsprozent = 0.2
Andere Optionen des Experten sind für das Training nicht von Bedeutung.
Klicken Sie im Strategy Tester auf "Start", um das Training zu beginnen.
In der Regel dauert das Training mehrere Minuten. Im Protokoll des Strategy Testers werden verschiedene Einträge zu sehen sein.
"Epoche 10 >> Zeit 0,48500 sec | Verlust 0,50258 | custom_err 0,99484 <> 1,00055"
"Neuer lr 0,00729 bei Epoche 138"
"Beste Konfiguration bei Epoche 422 >> Training gestoppt"
Nach Abschluss des Trainings erscheinen weitere Dateien des Trainings an dem Ort, an dem auch die Datendatei gespeichert wurde.
3) Wie Sie das Training im Strategy Tester
überprüfen können
Wählen Sie die folgenden Optionen im Strategy Tester:
Expert: Neural Transformer
Symbol: EURUSD
Datum: 2020.01.01 - 2024.09.10 (oder das aktuelle Datum)
Modellierung: OHLC на М1
Wählen Sie in den Eingaben des Experten die folgenden Optionen:
Aktion = Handel
Zeitrahmen = D1
Prognose-Minimum = 0,5
Symbolpunkt = 0,0001
Handelsstartstunde = 4
Takeprofit = 400
Trail = 100
Volumen = 0,01
Anzahl der Bars = 30
Andere Optionen sind in diesem Schritt nicht von Bedeutung.
Klicken Sie auf "Start". Der Experte wird einen üblichen Test durchführen.
Warnung! Ich empfehle nicht, eine Optimierung mit diesem Experten im Strategietester durchzuführen. Der Experte lädt viele komplexe Klassen. Eine Optimierung mit diesem Experten kann mit einem Absturz des MetaTraders enden. Sollte dies der Fall sein, starten Sie einfach den MetaTrader neu. Ich arbeite daran, diesen Fehler zu beheben und Optimierungen stabil zu machen. Das Testen funktioniert wie gewohnt.
Eigenschaften des Experten
Standard-Eigenschaften
- Aktion >> es gibt 3 Aktionen: Handeln, Daten sammeln und Trainieren.
- Netzwerktyp >> Es gibt derzeit nur einen Typ - LSTM. Dies ist der beliebteste Ansatz für das Training von Zeitreihendaten. Ich werde in naher Zukunft 2 weitere Typen hinzufügen: Multi Head Attention und ATFnet.
- Zeitrahmen >> dieser sollte für Ihr Training und Ihren Handel identisch sein.
- Vorhersageminimum >> Werte über diesem Wert lösen Handelssignale aus. Je größer der Wert ist, desto weniger Trades gibt es. Gültige Werte: 0,05 bis 1,5.
- Symbolpunkt >> wird verwendet, um Preisbewegungen zu berechnen. Für GBPUSD, EURUSD und die meisten anderen Symbole beträgt er zum Beispiel 0,0001. USDJPY - 0,01; USDSEK und USDNOK - 0,001; XAUUSD - 0,2.
- Handelsstartstunde >> neue Geschäfte werden nach dieser Stunde eröffnet. Sie wird verwendet, um Kurslücken zu überspringen, die über Nacht auftreten können.
- Gewinnmitnahme
- Nachlauf
- Stoploss
- Volumen >> Volumen pro Handel. Festes Volumen (Beispiel: 0,02) oder Prozentsatz der verfügbaren Mittel (Beispiel: 0,015%). Der Experte gibt das tatsächliche Volumen in der Registerkarte "Experte" aus, wenn er den Zeitrahmen startet oder ändert. Verwenden Sie immer einen festen Betrag für Konten, die eine andere Einzahlungswährung als den US-Dollar verwenden (z. B. Euro, Yuan, Bitcoin, Australischer Dollar usw.).
Trainingseigenschaften
- Anzahl der Balken >> zu analysierende Balken, um Handelsentscheidungen zu treffen.
- Anzahl der Vorhersage-Balken >> Balken im Voraus, um zu entscheiden, in welche Richtung sich der Preis entwickeln wird.
- Epochen >> es ist eine maximale Anzahl. Das Training eines neuronalen Netzes wird in Epochen durchgeführt. In der Regel wird ein Training abgebrochen, lange bevor dieser Wert erreicht ist.
- Anzahl der LSTM-Schichten >> eine Architektur eines neuronalen Netzes hat LSTM-Schichten, die zum Lernen von Abhängigkeiten zwischen Balken verwendet werden. Dense-Schichten, die den LSTM-Schichten folgen, werden verwendet, um Abhängigkeiten zu lernen, die für alle Balken gleich sind.
- Anzahl der dichten Schichten
- Lernrate >> Dies wirkt sich auf die Berechnung des Fehlers während des Trainings aus. Ein großer Wert bewirkt, dass sich das Training sprunghaft entwickelt und schnell endet. Ein kleiner Wert bewirkt, dass sich das Training langsam entwickelt und nie einen optimalen Zustand erreicht.
- Decay für die Lernrate >> wenn sich ein Training nicht verbessert, verringert diese Eigenschaft die Lernrate nach dieser Formel: lr = lr - lr*decay. Dies hilft, ein Training in die richtige Richtung zu lenken.
- Geduld >> ist eine Anzahl von Epochen, die auf eine Verbesserung warten. Ein Training wird fortgesetzt, während sich ein Validierungsfehler verbessert. Der Experte schiebt das Training für diese Anzahl von Epochen vor, weil er erwartet, dass sich ein Validierungsfehler noch verbessern kann. Wenn sich keine Verbesserung zeigt, wird der letzte beste Zustand des neuronalen Netzes gespeichert.
- Neuronen pro Schicht >> je höher diese Zahl ist, desto länger dauert das Training und desto schneller ist die Abhängigkeit von den Daten. Sie sollten nach einer optimalen Anzahl von Neuronen suchen.
- Validierungsprozent >> 0,2 steht für 20%, 0,3 für 30% usw. Alle Daten werden in 2 Gruppen aufgeteilt: Training und Validierung. Die Validierung sollte kleiner sein als das Training.
