記事「MQL5での価格バーの並べ替え」についてのディスカッション

 

新しい記事「MQL5での価格バーの並べ替え」はパブリッシュされました:

この記事では、価格バーを並べ替えるアルゴリズムを紹介し、EAの潜在的な購入者を欺くためにストラテジーのパフォーマンスが捏造された事例を認識するために並べ替えテストをどのように使用できるかを詳述します。

価格バーの並び替えは、複数のシリーズが関係するため、少し難しくなります。ティックデータの並べ替えと同様に、価格バーを扱う際には、元の価格系列の一般的なトレンドを維持するように努めます。また、バーの始値や終値が、それぞれ高値や安値の境界線を超えたり、下回ったりしないようにすることも重要です。目標は、元のデータとまったく同じ特徴分布を持つ一連のバーを得ることです。

トレンドに加え、シリーズが始値から終値まで進むにつれて、価格変動の分散を維持する必要があります。始値と終値の間の価格変動の広がりは、元のバーと同じでなければならなくなります。バーの外では、バー間の価格変動の分布が同じであることを確認しなければならなくなります。具体的には、あるバーの終値と次のバーの始値の差です。 



これは、テストされる戦略が不利にならないようにするために重要です。シリーズの一般的な特性は似ているはずで、唯一の違いは、最初のバーと最後のバーの間の各始値、高値、安値、終値(OHLC)の絶対値のはずです。これを実装するコードは、「MetaTrader 5でのモンテカルロ並べ替え検定」で紹介したCPermuteTicksクラスで使用されているものとよく似ています。価格バーの並べ替えコードは、PermuteRates.mqhに含まれるCPermuteRatesクラスにカプセル化されます。

作者: Francis Dube