【FX・MT4】複数のバックテストを並列で実行する

日記

MT4のバックテストは1コアしか使われないので、テストにかかる時間はPCのシングルコア性能に依存します。

しかし、今どきのパソコンは複数コア搭載が普通なので、ほかのコアで並列してバックテストができればテスト時間の節約になります。

方法は単純にMT4がインストールされているフォルダを複製して、複数のMT4を起動しそれぞれ別のテストをさせればよいです。

コピーして増やしたフォルダには適当な名前を付けておきます。

中身を起動するとそれぞれ別のMT4が立ち上がります。

テストの分割単位は自身で考える必要がありますが、相関がないパラメーターは分けたほうが効率的です。私は売りと買いのロジックを別々にテストしています。

今回は、EURUSD、USDJPY、EURJPYの3通貨の売りと買いそれぞれ2パターン、計6テストを並列稼働せています。

6つのバックテストを並列実行しているときのタスクマネージャー

12スレッドのCPUのため、使用率64%のうち、50%(6スレッド)をバックテストで使用している計算になります。あとの14%はYouTube観たりしている分です。

ディスクの読み込みはテスト開始時のみ100%に張り付きますが、テスト中は30%程度で落ち着きます。このPCはCドライブをM.2SSDにしていますが、ハードディスクを使っているとディスクの読み込み速度がボトルネックになってバックテスト時間が長くなる可能性があります。

テスト中も特にカクカクすることなく使用できています。

あとはテストが終わるのを待つだけです。

MT4によるとテスト完了まで171時間かかるそうです。

遺伝的アルゴリズムのチェックをオンにしていると、経験則ですが表示されている時間よりも早く終わります。

コメント

タイトルとURLをコピーしました