ティックデータバックテストと最適化のスピードアップ方法
こんばんは!
酒&EA浸りのEAイカじゃなイカ ᔦ๑° ꒳ °๑ᔨ
本日、このようなご質問をいただきました。
2点ご質問です。
— ひでき (@hideki618) June 15, 2019
TDSの動作を高速化するにはCPU、メモリ、ディスクのどれが重要になるでしょうか?
追加でライセンスを購入する場合にボリュームライセンスは適用されないでしょうか?
なので、今日はTick Data Suite (TDS)の高速化について取り上げようじゃなイカ!
まず僕の回答としては
CPU、メモリ、ディスクどれも重要
です(順位は付けられずケースバイケース)。
例えば、メモリが少ないPCでHDDを使っている場合は、SSD換装するとバックテスト速度がかなり上がるでしょう(バックテストだけでなくWindowsの起動・終了も)。
また、並列(マルチインスタンス)でのバックテスト速度を上げる場合は
CPU*の性能がかなり重要です。
*MT4インスタンス数が増えれば増えるほど、コア&スレッド数がモノを言ってくるようになります!
更に、メモリも8~16GBくらいあると並列バックテストもしやすくなると思います。ちなみにEAイカのメインPCは16GB×4=64GB(クアッドチャネル)のメモリを積んでるので、MT4を同時に20インスタンス以上稼働させても余裕です(CPUが追いつかなくなりますが)。
そして本件、実はBirt神のサイトにも詳しく記載されているので、こちらを翻訳して紹介します(※前半部分のみ)
【翻訳】
バックテストにかかる時間は使用するティック数に正比例します。ティックデータのバックテストは通常バックテストよりも遥かに多くのティックを使用するので、通常よりも更に時間を要します。しかしながら、速度は殆どのケースで向上させることができるので、この記事でいくつかのヒントを紹介したいと思います。
ティックデータのバックテストと最適化を実行する際にハードウェアを最大限に活用するには次のようにします。
- MT4フォルダのコピーを複数作り、CPUの全てのコアを利用する為に並列のバックテスト(または最適化)を実行して下さい。併せてこちらの記事も参考にして下さい⇒ Shared MQL4 folder for multiple MT4 instances. (複数MT4インスタンス用の共有MQL4フォルダ)
- ティックデータリポジトリをSSDドライブに保存します。これは特に並列バックテストや最適化を実行する際に、大幅なスピードアップを実現します。
EAイカ注(イカチュー): ティックデータリポジトリのパス変更は、Tick Data Managerを起動 ⇒ 右上にある「≡」をクリック ⇒ 設定タブにあるリポジトリパス:の「変更」で行うことができます。
- (ディスク)スワッピングが発生しないようにする為に、コンピューターには実行中のMT4インスタンス一つあたり約2GBのメモリが必要です。
- たくさんの細かなファイルを読み込む時のディスク速度が気になる場合(ディスク先読みは大きなファイルを優先します)、「ティックデータ設定」⇒「その他タブ」で「最適化のスピードを上げるためにFXTファイルを使用する」を常にチェックを入れた状態にすれば、2回目以降に続くバックテストでデータ解凍をしないで済みます。Dukascopyの2003年から今日までのEURUSDデータを使用して、Core i7とSSD上でフルティックデータのバックテストを行った時に、データ解凍には合計1~2分かかることがあります。ディスク容量を節約したい場合は、上記のサポート記事に記載されている手順を少し変更すれば、複数MT4インスタンスの間で「tester¥history」フォルダを共有することもできます。
デフォルトではティックデータの最適化はキャッシュ用のFXTファイルを使用するので、その場合は特別なことをする必要はありません。
本日は以上となります。See you レイカー!
今後もヒント記事を投稿して干しイカたは是非クリックで応援して下さい!
あ、そうだ!TDS割引キャンペーン、残り数時間でゲソよ!迷っている人は急ゲソ!ᔦ๑° ꒳ °๑ᔨ
安倍!😠🔥