MetaTrader 5 HilfeAlgorithmisches Trading, HandelsroboterOptimierungstypen

Optimierungstypen

Zwei Optimierungstypen sind im Tester verfügbar. Sie können die passenden Einstellungen im Strategietester-Tab auswählen.

Langsamer kompletter Algorithmus

In diesem Modus wird die Optimierung für alle möglichen Kombinationen der gewählten Eingabeparameter durchgeführt, die ausgewählt werden können im entsprechenden Tab.

Diese Methode ist die genaueste. Jedoch braucht diese Art der Berechnung zur Optimierung von Expert Advisor am längsten Zeit.

Schneller generischer Algorithmus

Dieser Typ der Optimierung basiert auf einem genetischen Algorithmus zur Suche der besten Eingabeparameter. Dieser Typ ist wesentlich schneller als der erste und hat fast die gleiche Qualität. Optimierungen, die mit der langsamen kompletten Optimierung mehrere Jahre dauern können, sind mit dem genetischen Algorithmus in wenigen Stunden durchführbar.

Jedes Individuum hat spezielle Gene, die mit dem jeweiligen Set an Parametern übereinstimmen. Die genetische Optimierung basiert auf der konstanten Auswahl der am besten angepassten Parameter, also den Werten, die die besten Ergebnisse liefern. In allgemeiner Form, kann der Algorithmus auf die folgende Art dargestellt werden:

  • Von der Gesamtauswahl möglicher Kombinationen an Parametern, werden zwei Sets zufällig ausgewählt;
  • Beide Sets werden gegeneinander getestet und das bessere Ergebnis im Rahmen der Optimierungskriterien bleibt übrig;
  • Die Auswahl der Eingabeparameter wird zufällig mit der anderen Auswahl gegengeprüft und dabei zufälligen Parametermutationen oder -umkehrungen ausgesetzt.
  • Die schlechteren Ergebnisse werden aussortiert und das Gegenprüfen läuft mit neuen Parametern weiter;
  • Die Sortierung und die Überprüfung wird solange wiederholt, bis es keine Verbesserung der Ergebnisse mehr gibt. Wenn die Optimierungskriterien nicht weiter verbessert werden können über mehrere Prüfungen hinweg, wird die Optimierung als vollständig angesehen.

Anzahl an Testläufen

Beim genetischen Algorithmus ist die Anzahl an Testläufen deutlich geringer, wodurch die Optimierung schneller wird. Nach dem Start der genetischen Optimierung wird eine ungefähre Anzahl der nötigen Testläufe in den Einstellungen angezeigt. Diese werden anhand der folgenden Formel berechnet:

Bestandsgröße (Population) * (Unbeschränkte Anzahl an Generationen + Anzahl an Generationen für Konvergenzschätzung)

wobei:

  • Bestandsgröße (Population) berechnet wird, anhand der Anzahl der maximal möglichen Kombinationen der Eingabeparameter und von 64 bis 256 reichen kann;
  • Unbeschränkte Anzahl an Generationen kann von 15 bis 31 reichen. Diese Zahl basiert auf dem Vorliegen der Verbesserung Optimierungskriterien. 15 Generationen werden in allen Optimierungen getestet. Wenn eine Generation innerhalb des Rahmens von 15 bis 31 keine Verbesserung im Bezug auf die Optimierungskriterien mehr bietet, wird ein zusätzlicher Test in der nächsten Generation für die Konvergenzschätzung gestartet.
  • Die Anzahl an Generationen für die Konvergenzschätzung wird berechnet als ein Drittel der Anzahl an unbeschränkten Generationen. Wenn die Anzahl an unbeschränkten Generationen 18 ist (die 17. Generation hat das beste Ergebnis erzielt und es gibt keine Verbesserung der Ergebnisse in der 18. Generation), dann werden weitere 5 Generationen getestet: Die 18. Generation hat keine Verbesserung gezeigt und für die Schätzung der Konvergenz benötigen wir 18/3 = 6 Generationen ohne weitere Verbesserung der Optimierungskriterien. Wenn es keine weiteren Verbesserungen gibt in der angegebenen Anzahl an weiteren Generationen, wird die Optimierung gestoppt.
  • Wenn die Anzahl an Optimierungen 1.000.000 in einem 32-bit System oder 100.000.000 in einem 64-bit System überschreitet, startet automatisch die genetische Optimierung.
  • Während der genetischen Optimierung, werden Zwischenergebnisse im Cache nach der Berechnung jeder Generation zwischengespeichert (in der Datei platform_data_folder/tester/cache/*.gen). Die Optimierung kann daher zu jeder Zeit unterbrochen werden. Selbst, wenn der Prozess der genetischen Optimierung durch externe Faktoren unterbrochen wird (bspw. Stromausfall), wird die Optimierung von der zuletzt gespeicherten Generation fortgesetzt beim nächsten Start. Der Zwischenspeicher wird beibehalten, bis die Optimierungseinstellungen geändert werden oder der Optimierungsprozess fertiggestellt wird.
  • Bei einem normalen Optimierungsstop, wenn Sie den Stop Button betätigen, werden alle vorherigen Berechnungen gespeichert. Bei der Wiederaufnahme der Optimierung, wird diese von der letzten Berechnung aus fortgesetzt.

Optimierungskriterien #

Ein Optimierungskriterium ist ein bestimmter Faktor, dessen Wert die Qualität der getesteten Parameter bestimmt. Je höher der Wert des Optimierungskriteriums, desto besser das Testergebnis mit den getesteten Parametern. Dieser Faktor kann im Feld rechts neben "Optimierung" in den Einstellungen festgelegt werden.

Das Optimierungskriterium ist nur für den genetischen Algorithmus nötig.

Die folgenden Optimierungskriterien stehen zur Verfügung:

Eine weitere Möglichkeit ist die Verwendung des "Komplexen Kriteriums max". Dies ist ein integrales und komplexes Maß für die Qualität eines Testdurchlaufs. Es werden mehrere Parameter gemessen:

  • Anzahl der Deals
  • Drawdown
  • Erholungsfaktor
  • Erwartetes Ergebnis
  • Sharpe Ratio

Anhand dieses Kriteriums können Sie erkennen, dass der höchste Wert eines Parameters (z.B. des Gewinns) nicht immer die beste Option im Hinblick auf die komplexe Analyse ist. Das komplexe Kriterium wählt nach und nach die besten Durchläufe aus: zunächst nach der Anzahl der Deals, dann nach dem Erwartetes Ergebnis, dem Erholungsfaktor und so weiter. Die neue Option ermöglicht den Erhalt der besten Optimierungsdurchläufe in Abhängigkeit von allen Parametern. Darüber hinaus können Sie den optimalen Durchlauf auf der Grundlage des gewünschten Parameters, wie z.B. des höchsten Gewinns, auswählen.

Alle ausgewählten Symbole in der Marktübersicht

Anders als die bereits beschriebenen Optimierungstypen, erlaubt dieser Typ einen Expert Advisor mit den gleichen Eingabeparametern, aber auf verschiedenen Symbolen zu testen. Nur das Hauptsymbol zum Testen wird mit jedem Durchlauf gewechselt, wie, wenn Sie das Chart wechseln würden, auf dem der Expert Advisor angewendet ist.

Die Optmierung wird nur für die Symbole durchgeführt, die Sie angewählt haben in der Marktübersicht. Damit können Sie die Auswahl der Symbole ganz einfach in der Marktübersicht zum Testen anpassen.

  • Bitte beachten Sie, dass das Herunterladen historischer Daten vom Server einige Zeit in Anspruch nehmen kann. Dies passiert jedoch nur beim ersten Download historischer Daten für ein Symbol.
  • Der aktuelle Wert der Eingabeparameter, festgelegt im Feld "Wert" (Value) wird für die Optimierung aller Symbole genutzt.