バックテストの高速化
スポンサーリンク

早く結果が知りたい

バックテストやフォワードテストの待ち時間を減らすためには、
プログラム自体のチューニングや、遺伝的アルゴリズムによる検証回数の削減も必要ですが、

MT4の頃は、CPU 1コア分しか使用してくれず、
ハイスペックなPCを用意しても処理速度を上げることができませんでした。

複数のMT4 terminal.exe を別フォルダに複製し、同時実行することで
異なるEAや時間足、期間の検証を行う方式はありますが、
あくまで単位時間あたりの処理量を増やせても、対象EAのバックテストを早く終わらせることができません。

殊、データ分析においてはOODAループとか、アジャイル型フレームワークが最適と言われる通り
EA開発でも、1日に何度も改善を繰り返しながら最適解を見つけたいと思います。

でも実際は、処理が重いEAになると
「一週間バックテストして、来週末あらためて確認しよう」ということもあり、、
来週改めて見ることには「なんでこの仕様にしたんだっけ・・・?」から始まることも。。。

MQL5 Cloud Network

MT5では、テストを高速化するために MQL5 Cloud Network という機能を使います。
早速触ってみましたが、なかなかいい感じ!

  1. マルチコアが使える
  2. 他のPCにも処理を割り振れる
  3. クラウド上にある他人様のPCのCPUも借りることができる
  4. 他人にCPUを貸し出すこともできる

といった特徴があります。

今回は、1と2を実際に実施してみます。

1. マルチコアが使える

MT5のストラテジーテスタには、 「エージェント」というタブがあり、これを開きます。

Local という部分が、自分自身のPCが持つCPUコアです。

全CPU使うこともできますし、他の作業のために使うコア数を減らすこともできました。

他事をやりたいときも安心!

2. 他のPCにも処理を割り振れる

24時間稼働のワークステーション(8コア)があるので、それにも処理をさせます。
元々MT4用に買ったもののCPUコアは使いきれず無駄な買い物だったと思っていましたが、
今になって役に立つとは。(5年前の自分、偉い)

バックテストを、自分のPC以外に実行させるためには
専用のエージェント(MetaTrader 5 Strategy Tester) を該当PCにインストールしておきます。
(Windows PCでしか動作しないので注意。 どうしてもMacやLinux等で実行させたい場合は
仮想環境上にWindows環境作るとか、ですかね。未検証です)

  1. 同じく エージェントタブ
    →Local Network Farm 右クリック
    →追加

  2. 事前にMetaTrader 5 Strategy Tester をインストールしたPCのIPを指定するか、
    ネットワークをスキャンする。
    ※パスワードは、エージェント側で指定したものと同一の値を入力。

  3. 追加したいコア数を調整したい場合は、
    エージェント起動時に指定したポートの範囲で追加コア数を調整するか、
    一旦全コア分追加をした上でバックテスト実行時に指定コア数使うこともできます。

  4. 完了!
    エージェントタブ内に、ワークステーション側PCのCPU情報が表示されています。

  5. 「ローカルネットワークファームを使用する」にチェック も忘れずに。

スポンサーリンク

実行結果

1分程度実行した結果。

1コアあたりの処理性能の差もありますが、約20倍速に!!!

対象CPU コア数 処理件数
Core 1 のみ 1コア 7件
ローカルネットワーク全体 11コア 138件

5年前のワークステーションが Core i7-4770K ですが、クロック数も高く、かつターボブーストONにしているせいか
最近買ったノートPC(初代Surfacebook)よりも圧倒的に速いです。

クラウドネットワークを利用すればさらに速度アップが期待できそうなので、
次回トライした結果をまとめたいと思います。

MT5のメリットは他にもある

マルチ通貨ストラテジーでのバックテスト

MT4では、1本のEAから複数の通貨に対して取引を実施しようとすると、
実行通貨ペア以外の通貨への売買が行えない仕様になっていましたが、
MT5からは実行できるようになりました。

1つのインジケータに複数の色を割当可能に

インジケータの表現力が向上しています。

その他諸々(MT4 と MT5 の違い)

フォワードテストがツールにデフォルトで組み込まれていたり、ヒストリカルデータの準備の手間がなかったり、
カスタム銘柄を追加できたり、結構色んなメリットがあります。

MT5上の売買結果をMT4へコピーするようなツールもあるため、
MT5側でEA構築をすることも、かなり現実的になってきたのではないでしょうか?
MT4環境には色々とストレスもありましたので、MT5への移行が進むことを願っています!

 

MT5を使うには?

MT5に対応している証券会社に口座を作成する必要がありますが、
現状、日本では該当する証券会社は存在しませんので、海外FXを選択することになります。

海外FXというと、なんとなく抵抗感を持つ方も多いと思うのですが、(私自身もかなりの抵抗感がありました)
諸々調べていくと、正しく仕組みを理解し、かつ適切なFX事業者を選択肢さえすれば、国内FXよりも圧倒的なメリットがあり
そのメリットはそのまま自身の収益性向上に繋がっていくことが分かりました。

海外FXに関する概要は、このブログ内の海外FX関連記事に、様々な観点でまとめていますので、ぜひご参照下さい。

適切な海外FX事業者については、事業者としての信頼性の高さ、日本語サポートの手厚さ、入金ボーナス等、様々な面でXM(エックスエム)が優位です。

XMに関しても、記事を色々まとめていますので、もし海外FXに関して魅力を感じながらも不安に思うところがある方がいらっしゃる場合は
一度、その噂レベルで「危ないんじゃない?」思われている情報の真意を確かめてみることをお勧め致します。

 

MT5用EAを公開しました!!!

関連記事

スポンサーリンク
おすすめの記事