Veranschaulichung einer Strategie im Prüfprogramm von MetaTrader 5

MetaQuotes | 27 Januar, 2016

Jeder kennt den Spruch: „Ein Bild sagt mehr als tausend Worte.“ Man kann zig Bücher über Paris oder Venedig lesen, aber die geistigen Vorstellungen vermitteln einem nie dasselbe Gefühl wie ein Spaziergang durch die abendlichen Straßen. Der Vorteil der Veranschaulichung oder der grafischen Darstellung lässt sich auf jeden beliebigen Lebensbereich übertragen, auch auf die Arbeit an den Finanzmärkten, zum Beispiel in Form der Analyse der Kurse anhand von Indikatoren auf Diagrammen sowie natürlich in Form der grafischen Darstellung der Überprüfung von Strategien.


Kennt jeder die Möglichkeiten des Strategieprüfprogramms?

Wie die Erfahrung zeigt nicht jeder. Der Wettbewerbsvorteil der Handelsplattform MetaTrader 5 besteht nicht allein in der angenehmeren und benutzerfreundlichen Oberfläche, den umfassenden Möglichkeiten des Programms vor Ort sowie von MQL5, dem mehrwährungsfähigen Strategieprüfprogramm mit der Fähigkeit zur Ausführung von Berechnungen mithilfe der MQL5-Cloud und vielen anderen Ausstattungsmerkmalen. Der Vorteil ergibt sich zudem aus dem Vorhandensein aller einem jeden Händler unerlässlichen Werkzeuge an einem einzigen Platz.

Ziel dieses Beitrags ist es, den Händlern ein weiteres nicht unwesentliches Stückchen aus der Fülle der Möglichkeiten von MetaTrader 5 vorzustellen, und zwar die Möglichkeiten zur grafischen Darstellung der Prüfung und Optimierung von Strategien. Die Analyse des Verhaltens von Expert-Systemen in Bezug auf Verlaufsdaten und die Auswahl der geeignetsten Parameter sind mehr als nur eine mühselige Analyse von Zahlen, Handelsvorgängen, Bilanzen, Reinvermögen und dergleichen, aber lehnen wir uns zurück, setzen unsere 3D-Brille auf und sehen wir uns an, was passiert.


„Oh, wie ist das schön. So was hat man lange nicht gesehen. So schön, so bildschön!“

Bei der Veröffentlichung von Expert-Systemen in der Codebasis oder dem „Markt“ hängen die Autoren in der Regel einen statistischen Prüfbericht sowie Bilanz- und Vermögenskurven an. Unter den statistischen Daten der Registerkarte „Ergebnisse“ des Strategieprüfprogramms finden sich jedoch wesentlich interessantere Darstellungen:

Diagramme mit Prüfergebnissen

Anhand dieser Diagramme kann analysiert werden, in welchen Monaten, an welchen Tagen oder in welchen Stunden ein Expert-System besser arbeitet bzw. wann es auf dem Markt am aktivsten ist. Die Leistung eines Expert-Systems kann auch anhand der Rechtzeitigkeit der Schließung von Positionen mit Gewinn bzw. des „Aussitzens“ von Verlusten auf Grundlage der Verteilungskurven der bestmöglichen Aus- (MFE) und Einstiegspunkte (MAE) beurteilt werden:

MFE/MAE-Verteilungsdiagramme

Bricht man die Ergebnisse noch weiter herunter, ergibt sich eine weitere Kurve:

Gewinnverteilung und Haltezeit der Positionen

Das Diagramm veranschaulicht die Abhängigkeit des Gewinns einer Position von ihrer Haltezeit. Es kommt gerade recht zur bevorstehenden Meisterschaft im automatischen Handel 2012. Eine der Teilnahmebedingungen verbietet das „Scalping“. Prüfen Sie Ihr Expert-System und vergewissern Sie sich, dass es den Regeln entspricht.


Filmische Rückschau oder grafische Überprüfung

Eine der revolutionären Eigenschaften des Strategieprüfprogramms ist die grafische Darstellung der Prüfung. Sie werden mir zustimmen, dass die Analyse von Abschlüssen anhand von Daten, die eigenhändige Erstellung von Diagrammen sowie ähnlich „interessante“ Routinevorgänge ein recht arbeitsaufwendiges Verfahren darstellen. Aber das Strategieprüfprogramm gibt Ihnen gleichsam das Bedienpult für ein Abspielgerät in die Hand, und Sie müssen lediglich die „Play“-Taste drücken, um sich eine filmische Rückschau anzusehen. Sie können in Zeitlupe schauen oder vorspulen, den Film anhalten und die Lage analysieren. In Echtzeit sehen Sie, wie Diagramme anhand modellierter Verlaufsdaten erstellt werden und wie ein automatisches Handelssystem auf Kursänderungen reagiert.


Die grafische Darstellung ist ebenso mehrwährungsfähig wie das Strategieprüfprogramm selbst. Das Expert-System im Film verwendet 4 Währungspaare für den Handel. Alle modellierten Kurse werden in der „Marktübersicht“ und den Diagrammen bereitgestellt.


Optimierungsergebnisse in 2D

Bevor wir zur dreidimensionalen Darstellung kommen, die neuerdings bei den großen Fernsehgeräteproduzenten recht gefragt ist, schauen wir uns kurz die Möglichkeiten der zweidimensionalen Ansicht im Strategieprüfprogramm an. Auf den ersten Blick unverständliche Rechtecke ermöglichen die Darstellung der gemeinsamen Beeinflussung des Optimierungskriteriums (in unserem Fall der höchste Wert des Guthabens) durch zwei Optimierungsparameter. Je dunkler das Grün desto höher der Wert des Guthabens:

Optimierungsergebnisse in 2D

Es ist zu erkennen, dass die Abhängigkeit irgendwie wellenförmig verläuft, und dass das höchste Ergebnis bei den Durchschnittswerten des Zeitraums und der Verlagerung des gleitenden Durchschnitts erreicht wird. Es handelt sich hierbei um die Optimierungsergebnisse für das im Lieferumfang der Hauptprogramminstanz enthaltene Expert-System Moving Average. Selbst hier findet man etwas Interessantes.


Jetzt auch in 3D

Eine noch größere Anschaulichkeit erzielen dreidimensionale Abbildungen. Unten sehen wir dieselbe Wechselwirkung der beiden zu optimierenden Kennziffern und das Ergebnis. Die Umschaltung auf diese erweiterte Darstellung erfolgt im Kontextmenü unter der Registerkarte Diagrammoptimierung.

Optimierungsergebnisse in 3D

Die dreidimensionale Optimierung war gerade im Strategieprüfprogramm von MetaTrader 5 erschienen, da wurden im Forum bereits von Händlern Beispiele für die grafische Darstellung mathematischer Berechnungen vorgestellt:

Die dreidimensionalen Diagramm sind vollständig interaktive, man kann sie vergrößern und verkleinern, um jeden gewünschten Winkel drehen usw. Nicht ganz unwichtig ist auch, dass alle Prüfungs- und Optimierungsergebnisse als Bilddateien oder Bericht im Format XML/HTML exportiert werden können.


Grafische Darstellung der Optimierung

Und zu guter Letzt begrüßen wir die Arbeit mit den Optimierungsergebnissen! Früher mussten die Händler zur Bearbeitung der Ergebnisse zunächst die Daten aufbereiten, sie irgendwohin herunterladen und irgendwo abseits verarbeiten. Heute macht man das an Ort und Stelle während der Optimierung! Zur Vorführung dieser Möglichkeit benötigen wir einige Include-Dateien mit den einfachsten Beispielen für eine derartige Verarbeitung.

Dazu laden wir die im Anhang zu diesem Beitrag angegebenen Dateien mit der Dateierweiterung MQH herunter und legen sie in dem Ordner MQL5\Include ab. In ein beliebiges Expert-System fügen wir am Ende von dessen Code folgenden Block ein:

//--- Add a code for working with optimization results
#include <FrameGenerator.mqh>
//--- генератором фреймов
CFrameGenerator fg;
//+------------------------------------------------------------------+
//| Tester function                                                  |
//+------------------------------------------------------------------+
double OnTester()
  {
//--- Insert here your own function for calculating the optimization criterion
   double TesterCritetia=MathAbs(TesterStatistics(STAT_SHARPE_RATIO)*TesterStatistics(STAT_PROFIT));
   TesterCritetia=TesterStatistics(STAT_PROFIT)>0?TesterCritetia:(-TesterCritetia);
//--- Call at each end of testing and pass the optimization criterion as a parameter
   fg.OnTester(TesterCritetia);
//---
   return(TesterCritetia);
  }
//+------------------------------------------------------------------+
//| TesterInit function                                              |
//+------------------------------------------------------------------+
void OnTesterInit()
  {
//--- Prepare the chart to show the balance graphs
   fg.OnTesterInit(3); //The parameter sets the number of balance lines on the chart
  }
//+------------------------------------------------------------------+
//| TesterPass function                                              |
//+------------------------------------------------------------------+
void OnTesterPass()
  {
//--- Process the testing results and show the graphics
   fg.OnTesterPass();
  }
//+------------------------------------------------------------------+
//| TesterDeinit function                                            |
//+------------------------------------------------------------------+
void OnTesterDeinit()
  {
//--- End of optimization
   fg.OnTesterDeinit();
  }
//+------------------------------------------------------------------+
//|  Handling of events on the chart                           |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
  {
   //--- Starts frames after the end of optimization when clicking on the header
   fg.OnChartEvent(id,lparam,dparam,sparam,100); // 100 is a pause between frames in ms
  }
//+------------------------------------------------------------------+

Für das Beispiel haben wir das Expert-System Moving Averages.mq5 aus dem üblichen Lieferumfang gewählt. Wir fügen den Code ein und speichern das Expert-System als Moving Averages With Frames.mq5. Danach stellen wir die Optimierung zusammen und führen sie aus.


Auf diese Weise haben Händler jetzt die Möglichkeit, eine anschauliche Optimierung durchzuführen und deren Ergebnisse bereits zu bearbeiten, während sie läuft, oder sich die erforderlichen Informationen anzeigen zu lassen.


Was kann ein Händler mehr verlangen?

Wir entwickeln die Möglichkeiten der Handelsplattform MetaTrader 5 ständig weiter, indem wir neue Werkzeuge für die Händler hinzufügen. Schreiben Sie Kommentare zu diesem Beitrag und teilen Sie uns mit, wie wir die grafische Darstellung im Strategieprüfprogramm weiter verbessern können. Wir werden uns bemühen, die interessantesten und hilfreichsten Anregungen umzusetzen.


Zur Verwendung der Dateien

Alle Dateien mit der Erweiterung .mqh gehören in den Ordner MQL5\Include, denn dort sucht sie das Kompilierprogramm bei der Erstellung des Expert-Systems Moving Average_With_Frames.mq5. Die Dateien des Expert-Systems können in dem Ordner MQL5\Experts oder einem beliebigen seiner Unterordner abgelegt werden.

Rufen Sie selbst die angehängten Expert-Systeme im Strategieprüfprogramm von MetaTrader 5 auf, um die Lektüre dieses Beitrages noch etwas interessanter zu gestalten. Das wird Ihnen sicher gefallen.