Der Expert Advisor wurde von MQL4 umgeschrieben, der Autor ist lsv. Hier ist der Link zur Quelle - https://www.mql5.com/ru/code/9431.
So funktioniert er
Der Expert Advisor arbeitet mit Ticks, unabhängig vom gewählten Zeitrahmen. Dabei werden Preismuster des aktuellen Marktes erfasst. Es entstehen verschiedene Muster mit unterschiedlichen Parametern. Die Anzahl der Muster wird in der Variable Nidelt festgelegt. Für das erste Muster kommt der dstop-Parameter zum Einsatz, für das zweite Muster dann dstop*2, und so weiter bis dstop*N, wobei N die Anzahl der Muster darstellt. Wenn sich der Preis um den Wert dstop*N ändert, wird ein neuer Punkt des Musters erfasst. Der zuletzt erfasste Punkt wird gelöscht, sodass das Muster eine feste Länge von Nidelt Punkten hat. Je mehr Einstellungswerte ein Muster hat, desto tiefer erfasst es die Historie. So wird der Markt gleichzeitig in unterschiedlichen historischen Tiefen analysiert.
Wenn sich ein Muster ändert (zum Beispiel bei einer Veränderung der Marktsituation), wird eine virtuelle Position eröffnet. Ziel ist es, die Position mit einer bestimmten Marktsituation zu verknüpfen. Dies geschieht folgendermaßen: Das Muster wird durch eine Sequenz von Preiswerten in eine binäre Sequenz umgewandelt. Ist der Wert eines Punktes höher als der vorherige, wird dies als 1 gewertet, andernfalls als 0. Aus dieser Sequenz wird die einzigartige Musterzahl berechnet (das bedeutet die Umwandlung der binären Ziffer in dezimal).
Es können ein bis drei virtuelle Positionen mit individuellen Stop Loss/Take Profit-Werten eröffnet werden. Die Werte für Stop Loss und Take Profit sind für jede Position gleich. Der Wert für Stop Loss/Take Profit wird durch den dstop-Parameter definiert: für eine Position wird dstop*1 verwendet, für die andere dstop*2, usw. Wenn der Preis steigt, erhöht sich die Wahrscheinlichkeit für Stop Loss/Take Profit; wenn er fällt, sinkt diese Wahrscheinlichkeit. Für jedes der drei Muster werden virtuelle Positionen eröffnet: Musterparameter, Musteranzahl (Form) und für jeden Wert von Stop Loss/Take Profit. Auch für jede dieser Kombinationen wird die Wahrscheinlichkeit des virtuellen Handels nach oben oder unten berechnet.
Wenn für eine Kombination aus drei Parametern (Parameter, Nummer, Stop Loss/Take Profit) mindestens 10 virtuelle Geschäfte erstellt werden und die gleiche Marktsituation auftritt (bestimmter Parameter und Musternummer werden autodetect), kann die Eröffnung einer Position mit einer Richtung, die auf der Wahrscheinlichkeit basiert, die auf diesen Statistiken beruht, betrachtet werden.
Es wird viel Zeit in Anspruch nehmen, Statistiken zu sammeln. Wie der Autor des Expert Advisors schreibt: "Es kann mehrere Wochen dauern". Der Prozess der Statistiksammlung kann durch den Tester beschleunigt werden. Allerdings können sich die Tick-Preisänderungen im Tester erheblich von denen des realen Marktes unterscheiden. Der Autor empfiehlt, es folgendermaßen zu handhaben: Zuerst den Expert Advisor im Tester auszubilden und dann etwa eine Woche auf einem Demokonto zu betreiben. Wenn der Expert Advisor positive Ergebnisse zeigt (während er ein wenig lernt), kann er anschließend auf einem echten Konto eingesetzt werden.
Vorbereitung eines Expert Advisors
Der erste Schritt zur Vorbereitung des Expert Advisors ist die Optimierung seiner Parameter: Nidel, Nstop, dstop, forg, Probab, NN, delta. In diesem Schritt erfolgt die Optimierung mit deaktivierten Parametern für ReadHistory und SaveHistory. Sobald eine akzeptable Kombination von Parametern gefunden wurde, muss ein Test mit SaveHistory=true durchgeführt werden. Danach wird der Expert Advisor auf einem Konto mit ReadHistory=true gestartet – der Expert Advisor beginnt sofort zu arbeiten, da er genügend Statistiken im Tester gesammelt hat. Es wird empfohlen, SaveHistory während des Handels zu aktivieren, um Daten automatisch zu speichern, falls der Expert Advisor erneut geladen wird.
Bei der Verwendung von SaveHistory im Tester werden die Lern-Daten in einer Datei gespeichert, die den Namen FD_[Symbol] trägt. Wenn der Expert Advisor auf EURUSD getestet wird, hat die Datei den Namen "FD_EURUSD", bei GBPUSD wird sie als "FD_GBPUSD" gespeichert, usw. Die Dateien werden im Verzeichnis "Files" gespeichert, das der gemeinsame Datenordner für alle Terminals ist. Du kannst den allgemeinen Datenordner über das Hauptmenü des MetaEditors aufrufen – um den allgemeinen Datenordner zu öffnen. Aus diesem Ordner werden die Daten von ReadHistory gelesen.
Neben der Speicherung der Lernergebnisse speichert der Expert Advisor zwei Dateien, die im Handelsprozess notwendig sind. Diese Dateien tragen die Namen: FDlast_buy[Symbol][TimeFrame] und FDlast_sell[Symbol][TimeFrame]. Diese Dateien sind nicht von Bedeutung.
Der Expert Advisor hängt nur vom Zeitrahmen in Bezug auf die Periodizität der Speicherung der Lerndaten und die minimale Zeit zwischen virtuellen Geschäften ab. Diese Zeit entspricht der Dichte von zwei Balken, sodass es einige Unterschiede in den Ergebnissen der Arbeit des Expert Advisors auf verschiedenen Zeitrahmen geben kann.
Die Abbildung zeigt die Lernergebnisse des Expert Advisors auf EURUSD M15 mit den Standard-Einstellungen.
Parameter
- ReadHistory - Lesen der gespeicherten Lernhistorie.
- SaveHistory - Speichern der Lernhistorie. Während des Tests wird die Historie bis zum Ende des Tests gespeichert, im Handelsbetrieb regelmäßig durch Überlernen.
- Lots - Positionsvolumen.
- Nidelt - Anzahl an Mustern darf 30 nicht überschreiten.
- Nstop - Anzahl der Parameter für virtuelle Positionen (verschiedene Werte für Stop Loss und Take Profit sind gleich), 1, 2 oder 3.
- dstop - Schritt der Änderungen der Parameter für virtuelle Positionen (Stop Loss und Take Profit).
- forg - Vergessensrate der Lernergebnisse, der Wert sollte etwas über 1 liegen.
- Probab - Wahrscheinlichkeitsniveau, das durch die Lernergebnisse definiert wird, nach dem Positionseröffnungen erfolgen.
- NN - Mustergröße darf 12 nicht überschreiten.
- delta - Schritt der Änderung der Musterparameter.
- ReplaceStops - Modifizierung von Stop Loss/Take Profit bei neuen Eröffnungssignalen. Die Transposition von Stop Loss/Take Profit erfolgt nur in Richtung der Position.
- Trailing - Trailing Stop-Niveau; wenn der Wert 0 ist, ist der Trailing Stop deaktiviert.
Kommentar 0