Diskussion zum Artikel "Permutieren von Preisbalken in MQL5"

 

Neuer Artikel Permutieren von Preisbalken in MQL5 :

In diesem Artikel stellen wir einen Algorithmus zur Permutation von Preisbalken vor und erläutern, wie Permutationstests verwendet werden können, um Fälle zu erkennen, in denen die Leistung einer Strategie gefälscht wurde, um potenzielle Käufer von Expert Advisors zu täuschen.

Die Permutation von Preisbalken ist etwas schwieriger zu bewerkstelligen, da mehrere Zeitreihen beteiligt sind. Ähnlich wie bei der Permutation von Tickdaten bemühen wir uns bei der Behandlung von Preisbalken, den allgemeinen Trend der ursprünglichen Preisreihe beizubehalten. Es ist auch wichtig, dass wir niemals zulassen, dass der Eröffnungs- oder Schlusskurs eines Balkens über oder unter die Grenzen des Hochs bzw. Tiefs geht. Ziel ist es, eine Reihe von Balken zu erhalten, deren Verteilung der Merkmale genau mit den ursprünglichen Daten übereinstimmt.

Neben dem Trend müssen wir auch die Streuung der Kursveränderungen im Verlauf der Serie vom Eröffnungs- bis zum Schlusskurs beachten. Die Spanne der Kursveränderungen zwischen Eröffnungs- und Schlusskurs sollte in den umgewandelten Balken gleich groß sein wie in den ursprünglichen. Außerhalb der Balken selbst müssen wir sicherstellen, dass die Verteilung der Preisänderungen von Balken zu Balken ebenfalls gleich ist. Genauer gesagt, die Differenz zwischen dem Schlusskurs eines Balkens und dem Eröffnungskurs des nächsten.


Dies ist wichtig, um die getestete Strategie nicht zu benachteiligen. Die allgemeinen Merkmale der Serien sollten ähnlich sein, der einzige Unterschied sollten die absoluten Werte jedes Open, High, Low, Close (OHLC) zwischen dem ersten und letzten Balken sein. Der Code zur Implementierung dieser Funktion ähnelt dem der Klasse CPermuteTicks, die im Artikel Monte Carlo Permutation im MetaTrader 5 vorgestellt wurde. Der Code für die Permutation der Preisbalken wird in der Klasse CPermuteRates gekapselt, die in PermuteRates.mqh enthalten ist.

Autor: Francis Dube