Entwicklung von automatisierten Handelssystemen in MQL5 und Zorro

MQL5 ist die objektorientierte Programmiersprache, mittels derer sich Handelsroboter
(Expert Advisors (EAs)) für das Handelssystem und Entwicklungs-Framework Metatrader5 programmieren lassen.

Es lassen sich von Charts aller Aktien und Währungspaaren die Daten von 10 Jahren und mehr pro Sekunde oder gar Tick herunterladen. Über diese Daten kann man die EAs laufen lassen (Backtesting) und schauen, wie und ob sie überhaupt Gewinn produziert hätten. So lassen sich auch Daten von speziellen Events wie bspw. Leitzinsentscheiden von Zentralbanken oder der Veröffentlichung anderer kursbewegender Wirtschaftsdaten (Verbraucherpreisindex, Beschäftigungszahlen, etc.) der Vergangenheit dazu nutzen, die EAs zu testen, ob sie zu den gegebenen Zeiten am Markt Gewinne generiert hätten.
Nach erfolgreichen Backtests geht es dann in die nächste Phase, den Code auf einem Live-Konto zu aktivieren.

September 2021

Die Aufgabe mit der automatisierten Geldgenerierung bzw. der Implementierung von Profit-generierenden Handelssystemen erweist sich als sehr komplex. Tausende von Tests von vielen Strategien habe ich gemacht, von denen ich vorab dachte, dass sicherlich einige funktionieren werden:

  • enge Stopps mit dem Ziel kleiner Profite
  • enge Stopps mit großen Profiten
  • weite und sehr weite Stopps mit kleinen oder großen Profiten
  • und alles dazwischen, was sich mittels des Strategietesters im Metatrader testen lässt.

Tatsächlich führt jede Strategie nach wenigen Tagen oder Monaten zu einem leeren Konto. Eine 99% Trefferquote nutzt nichts, weil die eine Position, die in den weiten Stopp läuft, alle +Trades auffrisst.
Hier angekommen musste ich pausieren, weil mir die Ideen ausgegangen waren. Ich guckte mich aber immer wieder um, was man denn sonst noch versuchen könnte und stieß auf Christian Lotters “schwarzes Börsenhackerbuch” und hier wird in wenigen Sätzen erklärt, weshalb alle von mir getesteten Strategien scheitern: es liegt am Overfitting. Das Overfitting beschreibt das Problem, dass ein Machine Learning Algorythmus die Trades auf die Daten der Vergangenheit unnatürlich optimiert; die so aus dieser Überoptimierung ermittelten Parameter (Stopp-Loss, Take-Profit, Indikatoren) auf den aktuellen Chart loszulassen kann nicht funktionieren. Christian Lotter geht mit anderen höchstinteressaten Strategien vor, indem er bspw. Bandpassfilter auf die Charts legt. Er fängt dort an, wo ich mit den EAs aufhörte. Die Tests mit dem von ihm verwendeten Zorro Handelssystem stehen nun an. Die müssen natürlich ein paar Monate laufen, bis man hier eine Vorstellung gewinnt. Dazu kommen die Wechsel der Marktphasen, denn ein System kann nur auf eine Marktphase optimiert werden. 

Dezember 2020

Ich teste eine Empfehlung des gleichzeitigen Gebrauchs der drei Indikatoren RSI, Stochastics und MACD per Code:

 

Oktober 2020

Es hat sich gezeigt, dass die Strategie, die auf “enggetakteter” Kommunikation mit dem Handelsserver beruht, nicht aufgeht, weil die Latenz den Handel damit zum Glücksspiel werden lässt: Wenn der Code erkennt: “Position im Gewinn, jetzt schließen” und die Close-Order an den Server schickt, kann die Position bis zur Ausführung oder sogar bereits, wenn die Close-Order beim Server ankommt, schon wieder im Verlust sein. Rein theoretisch, im Test ohne Latenz, sieht man dennoch, wie schön es wäre, einen Server direkt bei der Börse stehen zu haben und versteht, weshalb dafür gewisse Leute viel Geld bezahlen, denn es lohnt sich:

Expert Advisor über 2 Tage auf DAX
Expert Advisor über 19 Monate auf DAX

Daher muss ich meine ursprünglichen Ansätze verwerfen und neue Strategien programmieren und testen, bei deren Handel es nicht auf jede Millisekunde bzw. jeden Tick ankommt wie bspw. diese hier:

Expert Advisor über 9 Monate auf EURUSD

Updates gibt es hier auf meinem YouTube-Kanal

 

Juli 2020

Der Goldesel ist eins meiner  aktuellen Projekte, an dem ich seit Q2 2019 arbeite.
“Der Goldesel sind mehrere Esel.” Jede Handelsstrategie benötigt einen eigenen Code. Die eine ist auf bestimmte Zeiten ausgelegt, an denen Wirtschaftsevents stattfinden oder Wirtschaftsdaten bekanntgegeben werden und starke Kursausschläge zu erwarten sind. Der Code erkennt die Richtung, wenn Momentum im Kurs entsteht, positioniert entsprechend einen Trade und schließt ihn, sobald das Momentum nachlässt. Das ganze dauert ggfs. nur wenige Sekunden.
Eine andere Strategie ist auf eine Seitwärtsphase des Kurses und kontinuierliche kleine Gewinnmitnahmen ausgelegt; das sind andere Bedingungen und die Kauf- und Verkaufssignale werden anders formuliert.

Im Strategietester lässt sich der Code, die “Expert Advisors” (EA) testen, wenn er hier besteht, schalte ich ihn auf einem Demokonto scharf. Der nächste Schritt ist dann die live-Schaltung auf einem Echtgeldkonto.