Erfolgreiche EAs selbst entwickeln: wie Du profitable Handelsregeln erstellst
7 Schritte werden benötigt, um langfristig erfolgreiche Handelsregeln zu erstellen
Gestern, im Webinar, stellten Maik Schober und ich dem versammelten Publikum die 7 Schritte vor, die wir unternehmen, um von null auf 100 einen Trading-Algorithmus selbst zu entwickeln.
Ein Algorithmus ist ein Regelwerk, hier ein Regelwerk fürs Trading. Das ist die Basis für jeden selbst entwickelten Expert Advisor (EA), also ein Trading-Robot für MetaTrader 4 oder 5 (MT4 oder MT5), der selbständig Deals öffnet und schließt, um damit Gewinne zu machen versucht.
Übrigens: Es war das vierte Webinar im Rahmen der 12-teiligen Serie Mit Handelssystemen zum Börsenerfolg (hier für die restlichen Termine anmelden und Zugriff auf alle Aufzeichnungen erhalten).
Heute, in diesem Artikel, fasse ich diese 7 Schritte zusammen.
Hol Dir am besten auch ergänzend hier unser Buch, um keinerlei Nuancen zu verpassen.
Schritt 1: Visuelle Betrachtung des Charts
Zuerst betrachten wir Charts.
Banal? Ja, aber damit fängt alles an. So wie man beim Joggen auch erst mal seine Schuhe anziehen und gut zuschnüren muss.
Wir lassen Charts eine Weile lang auf uns wirken. Daher raten wir dazu, sich auf eine Handvoll Charts zu fokussieren. Wir nutzen dabei meist 1-Stunden- oder 4-Stunden-Charts. Auch Tages- oder Wochencharts sind mit dabei, denn je länger der Timeframe desto stabiler sind in der Regel die Muster, die sich darin ergeben.
Wer aber flink ist und immer wieder neue Modelle entwickeln will und kann, der darf sich gerne auf 30-, 15- oder 5-Minuten-Charts begeben. Dabei ist immer zu beachten, dass kürzerfristige Charts natürlicherweise eine höhere Signalfrequenz verursachen. Das hat höhere Handelskosten zur Folge, die das Handelsmodell erst einmal verdienen muss bevor es in die Gewinnzone klettern kann.
Was legen wir in die Charts? Die Preisentwicklung selbst, in der Regel in Kerzenform. Dazu kommen ein paar ausgewählte Indikatoren.
Wir haben hierbei ein paar Lieblings-Indikatoren. Die, die wir üblicherweise verwenden, sind nicht der Stein des Weisen, daher ermutige ich Euch, Eure eigenen Vorlieben zu entwickeln - sei es MACD, Stochastik, Bollinger Bänder oder andere Indikatoren, auch nicht-standardmäßige Indikatoren.
Die Regelmäßigkeit des Chartbilds erlaubt es uns, für ein gewohntes Bild sorgen. Das wiederum hat zur Folge, dass uns Muster besser auffallen.
Und genau das ist Schritt 2!
Schritt 2: Identifikation von Mustern
Nun schauen wir nach Mustern in dem Chartausschnitt, den wir gerade betrachten.
In unserem Buch-Beispiel sahen wir, dass Ausbrüche aus den Bollinger Bändern im USDJPY ein vielversprechendes Momentum haben, dann aber immer wieder zur Mittellinie zurückkehren.
In diesem Schritt wird Dir, wie uns auch, auffallen, dass es gewisse Marktphasen gibt. Diese zu beschreiben lohnt sich ebenso, denn auf solchen Beschreibungen können später Optimierungen beruhen.
Beispiel 1: Ausbruchsphasen, in denen Kursbewegungen mit viel Kraft ausbrechen und weiterlaufen.
Beispiel 2: Reversal-Phasen, in denen Ausbruchsversuche abprallen und zum gleitenden Durchschnitt zurückkommen.
Die Identifikation von Mustern führt somit direkt zur Festlegung erster Handelsregeln.
Schritt 3: Aufstellung vorläufiger Ein- und Ausstiegsregeln
In Schritt 3 geht es darum, erste Ein- und Ausstiegsregeln zu definieren. Es bieten sich etliche Variationen an, für deren Analyse wir in der Regel viel Zeit aufwenden.
Aller Anfang liegt in der Einfachheit.
Das erste einfache Regelwerk haben wir vorhin schon in Schritt 2 erhalten:
Ein Long-Deal (Kauf USD gegen JPY) wird eröffnet, wenn der Kurs das obere äußere Bollinger-Band berührt.
Ein Short-Deal wird eröffnet, wenn der Kurs das untere äußere Bollinger-Band berührt.
Damit wird gleichzeitig eine konsistente Ausstiegsregel definiert: Ein Long-Deal wird dann geschlossen, wenn der Kurs das untere Bollinger-Band berührt und ein Short-Deal wird dann geschlossen wird, wenn der Kurs das obere Bollinger-Band berührt.
Bei Anwendung der obigen Strategie auf unser Chart lässt sich schnell feststellen, dass einige Einstiege zwar durchaus gut gewählt sind, schwebende Gewinne aber nicht optimal realisiert werden.
Daher kann man an dieser Stelle Dealmanagement Elemente wie z.B. Take Profits, Trailing Stops oder weitere Indikatoren einführen, um das Regelwerk zu ergänzen.
Auch hier gibt es keinen heiligen Gral. Am besten, Du erarbeitet Dir einen Baukasten verschiedener Ausstiegstechniken. Diese wendest Du hier an, um zu sehen, was am besten funktioniert.
In unserem USDJPY-Beispiel im Buch führten wir an dieser Stelle einen Trigger-Punkt ein: den kurzfristigen Höchstkurs nach Einstieg Buy und den kurzfristigen Tiefstkurs nach Einstieg Sell. Wir führten eine Triggerpunkt-Aktivierung ein bei der Berührung eines neuen, inneren Bollinger Bands.
Bitte beachte, dass wir uns in diesem Schritt noch immer in der beschreibenden Phase befinden. Es ist noch nichts programmiert oder automatisiert. Wir beschreiben noch immer qualitativ und kreativ, was uns ins Auge fällt und was einer gewissen Marktlogik unterliegt.
Beachte hierbei bitte auch, Dein Handelsmodell nicht auf Chartabschnitten zu entwickeln, das außergewöhnliche Kursbewegungen, so genannte “Tail-Events”, abbildet: SNB-Donnerstag (15.1.2015) und Post-Brexit-Referendum-Freitag (24.6.2016) also bitte auf alle Fälle in dieser Phase der Modell-Entwicklung ausblenden! (Später, beim Risikomanagement, brauchen wir diese Ereignisse natürlich wieder.)
Schritt 4: Betrachtung weiterer Zeitabschnitte
Es ist ziemlich einfach, auf einem begrenzten Zeitabschnitt fantastisch funktionierende Handelsregeln zu finden. Diese angebliche Perfektion führt aber in den sicheren Verlust.
Im Schritt 4 beleuchten wir daher die bislang aufgestellten Ein- und Ausstiegsregeln anhand weiterer Zeitabschnitte.
Dabei überprüfen wir die Ein- und Ausstiegsregeln grob, um weitere Erkenntnisse zu erlangen und die Handelsregeln Stück für Stück zu verbessern. Eine exakte Analyse folgt später.
Ob Du dabei einfach den Chart ein kleines Stückchen in die Vergangenheit rückst (oder in die Zukunft, falls Dein bisheriger Chart-Abschnitt nicht der aktuelle Chart, sondern ein Vergangenheits-Ausschnitt ist) oder einen anderen, weiter zurückliegenden Ausschnitt betrachtest, ist einerlei.
Was uns die Erfahrung lehrt, ist, nicht zu weit in die Vergangenheit zu schauen. Denn nicht nur die Datenqualität und -relevanz wird dann gefordert, sondern übergeordnete Handelsmuster können sich auch ändern durch Marktgegebenheiten wie das Überhandnehmen der High-Frequency-Trading-Firmen in den späten Nuller-Jahren zum Beispiel.
Ein gutes Mittelmaß ist eine gute Idee.
Die Betrachtung weiterer Zeitabschnitte lässt uns ein gutes Gefühl dafür entwickeln, welchen Anpassungsbedarf es im Modell aufgrund noch nicht bedachter Kursszenarien gibt, wo für unseren zukünftigen EA weitere Chancen bestehen und in welchen Marktphasen Probleme auftreten können.
Das ist wertvolles Wissen, mit dem wir die Handelsregeln weiter verfeinern können. Insbesondere das Deal-Management, also die Ausstiegsregeln, bietet sich hier fürs Finetuning an, mit dem wir z.B. SL-Kurse bei gewissen Chart-Triggern nachziehen oder andere Exitregeln definieren.
Wenn wir nach Schritt 4 noch immer vom bislang festgelegten Regelwerk überzeugt sind, machen wir mit Schritt 5 weiter.
Schritt 5: Aufzeichnung der historischen Ergebnisse
Aufzeichnung der historischen Ergebnisse ist nichts anderes als Backtesting. Backtesting bedeutet, dass anhand echter historischer Daten das Regelwerk getestet wird.
Welche Deals ergeben sich wirklich?
Entsteht unterm Strich ein Gewinn oder Verlust?
Wie ist die Gewinn- und Verlustverteilung der einzelnen Deals?
Am besten lässt sich dies ermitteln durch die Automatisierung der Regeln in einem Expert Advisor (EA).
Ob Du jemals vor hast, das System vollautomatisch zu handeln oder nicht, ist dabei einerlei. Der EA erlaubt Dir, Dein Modell zu testen, zu analysieren und weiter zu optimieren.
Du kannst das natürlich auch manuell am Chart machen und alle Ergebnisse tabellarisch festhalten. Das haben wir ebenso lange Jahre gemacht bevor wir die EA-Programmierung gelernt haben. Mal ganz abgesehen vom Faktor Zeit, der dabei beachtet werden muss, ist es unsere Erfahrung, dass die Automatisierung und das Backtesting Kursszenarien aufdeckt, die vom Regelwerk noch nicht ausreichend erfasst sind. Das gibt uns weitere Hinweise, um den Algorithmus sattelfester zu machen.
Ein gutes Beispiel dafür ist die Wiedereinstiegsregel nach Mittellinienberührung. Diese mag visuell nicht notwendig sein, wird aber benötigt, um das System objektiv sauber zu analysieren. Wir beschreiben dies in allen Details in unserem Buch.
Die Automatisierung per EA erlaubt außerdem mächtige Zeitgewinne, insbesondere bei der Untersuchung anderer Zeitabschnitte.
Wenn wir hier sehen, dass unsere optische Grobanalyse uns getäuscht hat, können wir diese Reise abbrechen und lieber eine neue beginnen.
Wenn aber bis hierher Anzeichen vorhanden sind, dass das Regelwerk nicht nur im Entwicklungszeitraum funktioniert (einfach!), sondern auch außerhalb (das wird im Jargon “out-of-sample” genannt), dann lohnt es sich, weiter zu entwickeln.
Hier kommt Schritt 6 ins Spiel.
Schritt 6: Durchführung weiterer Optimierungen
Wir haben im letzten Webinar im Januar (hier kostenlos anmelden und Zugriff auf die Aufzeichnungen erhalten) festgestellt, dass Standardmodelle reines “Geldwechseln” bedeutet. Daher müssen wir kreativ werden und uns ein paar Kniffe überlegen, um ein Regelwerk einzigartig zu machen. Nur das wird es von der Herde absetzen.
Benjamin Graham war zwar kein EA-Trader, schrieb aber in seinem Klassiker “Intelligent Investieren” (hier bei Amazon.de über meinen Partnerlink bestellen; danke für den Klick, da ich für qualifizierte Käufe eine Umsatzbeteiligung erhalte) über das Investieren und Spekulieren:
Zunächst können die Dealmanagement-Bestandteile (SL, TP, Trailing Stop, Exitregeln) der Strategie optimiert werden. Auch können Ausstiegsszenarien im Gewinn oder Verlust separat betrachtet werden.
Wir variierten in unserem USDJPY-Modell aus dem Buch beispielsweise zunächst den TP-Abstand. Dabei ergab sich vorerst keine Verbesserung, aber wir lernten den Algorithmus und das Marktverhalten besser kennen; keine verschwendete Zeit als.
Übrigens solltest Du diese Tests unbedingt so durchführen, dass Entwicklungzeitraum und Gegentestzeitraum oder -zeiträume separat getestet werden. Nur bei relativer Stabilität kann von zukünftiger Robustheit ausgegangen werden.
Danach untersuchten wir den zuvor eingeführten Trigger-Punkt und fanden heraus, dass dieser nicht als reiner Exit, sondern zur Kerzentrailing-Aktivierung verwendet werden sollte.
Bei den Verlust-Deals fanden wir heraus, dass wir getrost früher aussteigen konnten bei starken Verlustbewegungen und modellierten dies am 18-Kerzen-Hoch bzw. -Tief als Optimum.
Auch die Einstiegsregeln können optimiert werden.
Scharfes Beobachten des Charts und Mustererkennung ist wie immer gefragt.
Hierbei fiel Maik auf, dass es nicht der aktuelle Band-Stand war, sondern der zuletzt niedrigste Stand des oberen Bands bei Kursbewegungen nach oben bzw. höchste Stand des unteren Bands bei Bewegungen nach unten, der einen vorteilhaften Einstieg bieten könnte.
Wichtig, wie immer: Marktlogik beachten!
Manche Optimierungen führen zu Verbesserungen, manche zu “Verschlimmbesserungen”.
Wir probierten auch einige weitere Ideen aus, die nicht zum Erfolg führten, und die sich daher nicht im finalen Regelwerk wiederfinden. Im Buch haben wir sie dennoch dokumentiert, denn vielleicht bringen sie in einem anderen Algorithmus die gewünschten Verbesserungen.
Stell auf alle Fälle sicher, dass Verbesserungen quer durch die verschiedenen Zeiträume ersichtlich sind und nicht nur im Haupt-Entwicklungs-Zeitabschnitt.
Schritt 7: Optionale Einführung weiterer Filter
Weitere Filter können nun getestet werden, die sich nicht aus Kursbewegungen oder Indikatorständen ablesen lassen, sondern die übergeordnet zu betrachten sind. Dazu zählen wir regelmäßig:
Saisonalitäten wie z.B. Wochentage oder Tageszeiten
Dealvolumen (bei Einsatz von Money Management, sprich festgelegten Einsätzen pro Deal in Prozent des Kontos und variablen Stop-Loss-Abständen)
Bevor das Modell nach all dieser getanen Arbeit ins Echtgeldkonto überführt wird, müssen Robustheitstests und ein Test des Modells auf Zufälligkeit durchgeführt werden.
Diese Meilensteine verdiene eigene Webinare (und darauf folgende Blog-Artikel), die im Frühjahr folgen werden.
Ohne diese Tests geht’s nicht, bleib daher bitte am Ball!
Bevor wir diese angehen, werden wir Dir im nächsten Webinar der Serie (hier kostenlos anmelden), am 7.3.2024 um 17 Uhr, die bisherigen Schritte “live in action” zeigen, anhand einer weiteren Modellentwicklung. Damit kannst Du anhand eines echten Beispiels nachvollziehen, wie das Durchlaufen dieser heutigen 7 Schritte in der Praxis aussieht.
Klingt das gut?
Klingt das spannend?
Ja?
Dann plan Dir den nächsten Webinar-Termin am 7.3. um 17 Uhr fest in den Terminkalender ein (hier kostenlos anmelden) und sag’s bitte weiter!
Tu es außerdem ca. 1000 weiteren Freunden des EA-Tradings gleich und trage Dich hier in meinen Freitagsmail-Verteiler ein. Du erhältst wöchentliche News, Tips und Tricks, wie Du beim EA-Trading auf die Erfolgsspur kommst.
Trade wie Profis
Cristof Ensslin von mindfulfx.de