Automatisierung des Recovery Zone Systems mittels Trading-Robot, speziell als EA für MT4
In den letzten drei Blog-Artikeln haben wir ausführlich über das Recovery Zone Trading System gesprochen. Auch als Zone Recovery oder Hedge Zone bekannt, zielt dieser Algorithmus mit Hilfe einer Dealserie mit sich anpassenden Lotsizes (Handelsvolumina) darauf ab, aus jeder Position mit einem festgelegten Mindest-Gewinn auszusteigen, falls sie nicht ins angedachte Gewinnziel läuft, sondern sich in den Verlust bewegt.
Lesen Sie dazu den Artikel Recovery Zone verspricht jeden Deal mit Gewinn zu schließen.
Wie genau sich das Nominalvolumen der Folgedeals ermittelt, haben wir mittels einer simplen Formel kennen gelernt. Sie beinhaltet vier Elemente:
die Größe der Recovery Zone
die bislang durch Drehen der Position aufgelaufenen Verluste
die Kursdistanz, die jeder Deal als Gewinnziel erhält
der Mindestgewinn, mit dem wir uns im Fall der Recovery Zone Verwendung begnügen.
Dazu habe ich Ihnen ein kostenfrei verwendbares Spreadsheet vorbereitet, das Sie in diesem Artikel abrufen können: Recovery Zone Spreadsheet: Lotsize- und Risiko-Berechnungen schnell durchführen.
Letzte Wochen haben wir in einer Analyse der Marktphasen dann einen ersten Eindruck gewonnen, wann dieses Handelssystem vielversprechend ist versus wann es hohe Risiken birgt.
In einem Satz ausgedrückt: in Phasen steigender Volatilität, z.B. gemessen am 14-Tages-ATR, bringt ein Deal, der mittels Recovery Zone Systematik gemanagt wird, mit hoher Wahrscheinlichkeit Gewinn ein.
Alle Details dieser Marktphasenanalyse, die ich mit unserem mFX-RecoveryZone Expert Advisor (EA) auf einem EURUSD-Chart im Strategietester des MetaTrader 4 (MT4) durchführte, können Sie hier nochmal nachlesen: Meine Einschätzung zu den passenden Marktphasen für das Recovery Zone System.
Wie lässt sich das Recovery Zone Prinzip mittels Trading-Robot automatisieren?
Obwohl eine manuelle Umsetzung des Recovery Zone Algorithmus möglich ist, ist es ratsam, eine solche Technik zu automatisieren. Das bringt Schnelligkeit, Emotionslosigkeit und Präzision in der Umsetzung.
Daher haben wir für uns und Sie einen EA für MT4 namens mFX-RecoveryZone produziert, der
in allen oben genannten Punkten individuell eingestellt werden kann,
daraus die Lotsizes der Dealserie vollständig autonom ermittelt,
das theoretische Maximalrisiko des Recovery Zone Setups vorab berechnet und uns darüber vor dem ersten Deal informiert und
der dann die Strategie in Manier eines Trading-Robots automatisch umsetzt.
Dazu muss der Trader selbst nur noch die passende Marktphase für das gewählte Asset finden und sicherstellen, dass der EA ständig mit seinem Broker verbunden ist - z.B. über Verwendung eines VPS, auf dem der EA und der MT4 installiert und mit dem korrekten Konto eingeloggt ist.
Aktuelles Einsatzbeispiel
Nach ein bisschen Suche konnte ich den EURAUD-Chart als guten Kandidaten identifizieren. Im Tages-Chart steigt die Average True Range (ATR) der letzten 14 Tage eindeutig an. Hier kann ich nun zum Beispiel folgende Einstellungen vornehmen:
Kursdistanz, die jeder Deal als Gewinnziel erhält: 100% der aktuellen ATR = 122 Pips
Größe der Recovery Zone: 50% der aktuellen ATR = 61 Pips
Anfängliche Lotsize 1.0 Lots, also 100.000 EUR Nominalvolumen.
Mindestgewinn, mit dem wir uns im Fall der Recovery Zone Verwendung begnügen: 10% der aktuellen ATR = 12,2 Pips (bzw. 12.2 im englischen Zahlenformat)
Als maximale Dealserien-Länge wähle ich zunächst 10 Deals.
Falls mathematisch Lotsizes mit mehr als 2 Nachkommastellen errechnet werden, sollen diese aufgerundet werden.
Wenn ich nun auf OK klicke, kalkuliert der EA zunächst die Lotsizes der aus den eingegebenen Variablen nach der besprochenen Formel resultierenden Dealserie. Danach kann er das Maximalrisiko dieses Setups in Kontowährung sowie Prozent des aktuellen Kontowerts ermitteln, jeweils aufgerundet auf de nächst-höhere ganze Zahl. Das Ergebnis zeigt der Trading-Robot uns sogleich an:
Mir persönlich sind 21% des aktuellen Kontowerts zu viel Risiko, auch wenn die Eintrittswahrscheinlichkeit für diesen Verlust sehr gering ist. Daher klicke ich vorerst auf "Nein".
Daraufhin wird der EA deaktiviert, wodurch keinerlei Deals geöffnet werden können. Er verbleibt aber auf dem Chart, um die eben gemachten Einstellungen zu speichern. Mit F7 auf der Tastatur gelange ich wieder in die Experten Eigenschaften zu den Eingaben der Variablen.
Da ich an den Pip-Abständen (Recovery Zone / SL, TP-Distanz und Kursgewinn der Dealserie= nichts ändern möchte, reduziere ich die Startlotsize von 1.0 auf 0.5. Außerdem verkürze ich die Dealserie von maximal 10 auf maximal 6:
Die Dealserien-Verkürzung erhöht die Verlustwahrscheinlichkeit ein wenig. Das bekomme ich dadurch "entlohnt", dass ich ein deutlich niedrigeres Verlustrisiko habe. Außerdem habe ich ja schon durch die Wahl der Marktphase einer an der ATR gemessen steigenden Vola meine Erfolgschance maximiert.
Folgende Werte hat der mFX-RecoveryZone EA nun mit den veränderten Parametern in Sachen Dealserien-Lotsizes und Maximalrisiko berechnet:
Mit 2% Risiko auf das aktuelle Kontoequity bezogen kann ich leben. Das Risiko gehe ich ein und klicke auf den Ja-Knopf des Dialogfensters, das mir der EA so schön vorgelegt hat.
Nun kann es los gehen, indem ich entscheide, ob mit Buy oder Sell von 0.5 Lots gestartet werden soll:
Ich gehe derzeit, sagen wir, von tendenzieller Euro-Schwäche aus. Daher starte ich mit 0.5 Lots Sell, indem ich auf den roten der beiden Buttons rechts im Chart klicke.
Ein Bestätigungsdialog fragt mich, ob ich das auch wirklich tun möchte - denn es könnte ja sein, dass ich aus Versehen den Buttonklick ausgelöst habe. Auch habe ich nochmal die Chance sicherzustellen, dass ich noch keine anderen Deal oder Dealserien mit der eingestellen MagicNumber 180403 (s.o. in den Screenshots mit den Variablen Eingaben in den EA Eigenschaften, wo Sie neben der Einstellung der MagicNumber, anhand derer der EA seine eigenen Deals wieder erkennt, übrigens auch diesen Bestätigungsdialog ausschalten können) offen habe:
Alle Checks sind meines Erachtens erfolgreich absolviert, also klicke ich auf OK. Dadurch wird sofort eine Market-Order Sell 0.5 Lots in meinem Demokonto eröffnet. Sekundenbruchteile später übermittelt der EA mFX-RecoveryZone den SL für diesen ersten Sell-Deal, Deal Nr. 1 der Dealserie. Auf gleichem Kurslevel wie der SL wird zudem eine BuyStop-Order platziert, Deal Nr. 2 der Dealserie, mit den Berechnungen entsprechender Lotsize. Außerdem zeichnet der EA die Recovery Zone (innere rote Linien) sowie die Gewinnziele für Buy und Sell (äußere rote Linien) ein:
Ab diesem Moment läuft nun alles voll automatisch durch den Trading-Robot. Sollte der Kurs nach oben gehen und sowohl Sell SL als auch Buy Stop erreichen, wird Deal Nr. 1 geschlossen und die Recovery Zone beginnt. Deal Nr. 2 ist nun nicht mehr Buy Stop, sondern ein Buy. Der EA platziert dann sofort eine Sell Stop Order mit der vorher ermittelten Lotsize für Deal Nr. 3.
Wird nun beim letzten Deal der Dealserie, in unserem Beispiel Deal Nr. 6, wieder das andere Ende der Recovery Zone oder aber hoffentlich vorher das obere oder untere Gewinnziel erreicht, in unserem Beispiel bei entweder 1,58872 AUD pro EUR oben oder 1,55822 AUD pro EUR auf der Unterseite, ist die Dealserie beendet. Es werden vom EA wieder der blaue BUY- und der rote SELL-Button eingeblendet. Der EA wartet also nach Beendigung der Dealserie auf einen Eingriff des Traders, um erneut eine Dealserie zu starten.
Gleiches gilt, wenn uns die ganze Sache schon vor Erreichen eines der gerade genannten, natürlichen End-Szenarien zu bunt wird und wir den "AllesSchliessen"-Button betätigen. Dieser wird eingeblendet, sobald eine Dealserie mit Buy oder Sell gestartet wurde.
Dass der EA-Nutzer wieder zur Tat gebeten wird, ist durchaus sinnvoll. Denn er kann so die Situation auf dem Chartsymbol (hier EURAUD) neu einschätzen, Chancen und Risiken aktuell abwägen und dann bewusst die gleiche Einstellung erneut verwenden, Variablen anpassen oder komplett das Chart wechseln.
Der Expert Advisor mFX-RecoveryZone für MetaTrader 4 kann übrigens auf bis zu 100 Charts gleichzeitig installiert werden und unabhängig voneinander laufen. Wenn unter allen Charts, die auf das gleiche Tradingkonto zugreifen, mehrere Charts das gleiche Symbol haben, achten Sie bei der Verwendung der EAs unbedingt darauf, dass Sie pro Chart mit gleichem Symbol unterschiedliche MagicNumbers vergeben. Nur so können diese Trading-Robots garantiert ihre eigenen Deals von denen anderer EAs unterscheiden.
Weitere Programmier-Möglichkeiten
Erweiterungen zu der im vorherigen Blog-Abschnitt beschriebenen EA-Programmierung sind durchaus möglich. Ideen dazu gibt es mannigfaltig. So könnte
ein Volatilitätsmaß eingebaut werden
Indikatoren zur Festlegung der Erstrichtung befragt werden
ein Regelwerk zur automatischen Ermittlung der Kursabstände für Recovery Zone und Gewinnziele integriert werden
die Folgerichtung andersartig alterniert werden, weil ja nicht unbedingt die Richtungsumkehr entscheidend ist, sondern es vielmehr auf Folge-Lotsize und Wegstrecke zum Take Profit Kurs ankommt.
Ich habe mich ob all dieser Freiheitsgrade bewusst dazu entschieden, den ab sofort unter http://www.mindfulfx.de/recoveryzone-ea auch für Sie im Sofortdownload verfügbaren MT4-EA mFX-RecoveryZone wie oben beschrieben vergleichsweise einfach zu halten. Daher
ist er leicht zu bedienen
bleibt er sehr erschwinglich
können Sie seine Aktionen vollständig nachvollziehen
Wenn Sie die Variante MQ4 kaufen, können Sie dann sogar Ihre eigenen Ideen nach freiem Belieben als weitere Funktionalitäten in den EA einbauen oder einbauen lassen.
Alles Gute für Ihre Programmier- und Tradingaktivitäten
Ihr Cristof Ensslin von mindful FX, Ihr EA-Programmierer