MT4でバックテストができない原因はフォルダの容量オーバー!?
Programming master school

今回の記事は、バックテストが突然停止してしまったときの原因の一つ、フォルダの容量オーバーについての記事になります。

あなたは、MT4でバックテストをしていて、今まで正常にバックテストが出来ていたのに突然停止したり、前回と結果が違う、レポートが出力出来ない、などの症状になったことはありませんか?

私の場合は下の画像の様に、バックテスト中に容量がいっぱいになってしまって、途中で停止してしまいました。

今回はその時に行った対処方法を紹介致します。それから、対処方法を応用して、ちょっと便利な使い方も紹介致します。

*パソコンの操作はWindows10の場合です。

この記事はこんな方にオススメです。
☑設定は合っているのにMT4のバックテストで止まってしまう方
☑問題無く出来ていたのに突然バックテストが出来なくなってしまった方
☑ログの容量が多くなりドライブを圧迫してしまう方
☑複数のMT4のフォルダを共有したい方

バックテストができない!おかしい?原因とは

バックテストが止まる原因は様々ありますが、今回はフォルダの容量オーバーについて説明致します。

その前に、MT4やパソコンを再起動させてみて下さい。それでも改善しない場合は次からの方法を試してみて下さい。

原因①historyホルダのデータ量

historyホルダには、バックテストした際にfxtファイルが生成されます。バックテスト期間にもよりますがこのファイルのデータ量が数十GBになる場合もあります。

このファイルはバックテストする通貨ペアや時間足毎に生成されます。
多様の通貨ペアや時間足でバックテストを行うこと、知らない間にかなりの容量になってしまいます。

fxtファイル
通貨ペアや時間足でファイルが生成されます。表示されてるファイル合計で約62GBもあります。

このファイルは、削除しても問題ありませんので、バックテストが終了したらMT4を閉じてから削除して構いません。

●historyホルダの場所

①MT4の「ファイル」から「データフォルダ」をクリックします。

②開いたフォルダの中に「tester」フォルダがありますので、そこをダブルクリックして下さい。

③開いたフォルダの中に「history」フォルダがありますので、そこをダブルクリックして下さい。その中に先ほどの「fxtファイル」があります。

原因②logsホルダのデータ量

logsホルダには、historyホルダと同様に、バックテストした際にlogファイルが生成されます。バックテスト期間やPrint関数などの数にもよりますがこのファイルが数百GBになる場合もあります。

バックテストを行った日付毎で生成されるようですので、バックテストを行った日が違うと新たに生成されます。

●logファイル
バックテストを行った日付毎に生成されている。容量の多いもので約20GBもあります。

このファイルも、削除しても問題ありませんので、バックテストが終わったらMT4を閉じてから削除して構いません。

しかし、私のこちらの記事のようにログを利用する場合は、別の場所に保存するなどして下さい。

logsホルダの場所

①MT4の「ファイル」から「データフォルダ」をクリックします。
(historyホルダの場所の画像参照)

②開いたフォルダの中に「tester」フォルダがありますので、そこをダブルクリックして下さい。
(historyホルダの場所の画像参照)

③開いたフォルダの中に「logs」フォルダがありますので、そこをダブルクリックして下さい。その中に先ほどの「logファイル」があります。

バックテストが止まるのを解決する方法

前述したフォルダはMT4のインストールのときに、基本的にパソコンのCドライブにインストールされます。

私のパソコンは、最初の方の画像の通りCドラブの容量約150GBと少なく、何度か容量オーバーになってしまいました。

その時に、私が対処した方法をご紹介いたします。

流れとしては、保存容量を増やす→増やしたところにhistoryホルダとlogsホルダが入っているtesterホルダ移動させるといった流れです。

パソコンの保存容量を増やす方法

まずは、保存容量を増やさないと解決出来ませんので、保存容量を増やすことを最初に行います。

私は、外付けのハードディスクを付けました。これが一番簡単な方法方法だと思います。

パソコンに詳しい方なら、内臓ハードディスクが安価で良いと思います。

外付けハードディスクを追加することで、新たに(D)ドライブが作られ容量が増やすことが出来ました。

容量を増やすことができましたら、次は増設した外付けハードディスクにhistoryホルダとlogsホルダが入っているtesterホルダシンボリックリンクを利用して移動させます。

先ほど出てきた、このtesterホルダを移動させます。

コマンドプロンプトを使用してシンボリックリンク作成する方法

最初はコマンドプロンプトを使用してフォルダの移動を行う方法です。

少し面倒ですが、ほぼコピペで出来ますので、覚えてしまえば簡単です。パソコンにソフトをインストールしたくない方はこちらの方法が良いと思います。

まずは、コマンドプロンプトを管理者で起動出来るか確認します。

① Windowsマークを右クリックします。

そこに出て来たメニューから「コマンドプロンプト(管理者)(A)」があればの操作に進んで下さい。

無い場合は次のに進んで下さい。

② タスクバーの設定を開きます
タスクバーを右クリックして出て来たメニューから「タスクバーの設定(T)」をクリックして下さい。

③設定をオフにします。
「[スタート]ボタンを右クリックするかWindowsキー+Xを押したときに表示されるメニューで、コマンドプロンプトをWindowsPowerShellに置き換える」 のスイッチをオフにします。
オフにしたら、設定を閉じて下さい。
の操作に戻って頂きWindowsマークを右クリックすると、「コマンドプロンプト(管理者)(A)」になっていると思います。

④ testerホルダを移動させる為のフォルダ作成
増設した「Dドライブ」にtesterホルダを移動させる為のフォルダを新たに作ります。
フォルダ名はあなたの好きな名前で大丈夫です。ただし、エラーを防ぐ為に半角の英語や数字や記号がいいと思います。空白も入れない方が良いです。

私の場合は、「MT4-Backtest」という名前のフォルダにしました。

⑤ 移動先フォルダ内にtesterホルダをコピーします。
前述したデータ量のところで出て来たtesterホルダを移動先フォルダ(私の場合はMT4-Backtest)にコピーします。

移動先フォルダにtesterホルダをまるごとコピーします。

⑥ Windowsのメモ帳を起動させて下さい。

●「メモ帳」の起動方法
左下の「Windousボタン」→「Windows アクセサリ」→「メモ帳」でメモ帳を起動させます。

⑦ コードを入力します。
メモ帳に「mklink /D 」と入力します。
*「」内をコピーして下さい。kとDの後にスペースがあります。

⑧ 移動元フォルダのアドレスをコピーします。
今回はtesterフォルダのアドレスコピーします。先ほどの移動元のtesterフォルダをダブルクリックします。

アドレスバーを右クリックして、「アドレスをテキストとしてコピー(O)」します。

⑨ メモ帳にアドレスを張り付けます。
私の場合は下画像のようになります。

⑩移動先フォルダのアドレスをコピーします。
移動元のときと同様に、移動先のアドレスバーを右クリックしてアドレスをコピーします。

⑪ さきほどメモ帳に張り付けたコードの後に、スペースを入れて張り付けます。
私の場合は下画像のようになります。

⑫ 移動元のフォルダの名前を変更するか、削除します。
私の場合は、名前を変更しました。名前の最後にデフォルトの"D"を付けました。

⑬ コード全体をコピーします。

⑭ コマンドプロンプトを起動させて下さい。
Windowsマークを右クリックして「コマンドプロンプト(管理者)(A)」をクリックして下さい。

この画面は、「はい」を選択して下さい。

⑮ コマンドプロンプトにコピーしたコードを張り付けます
起動したコマンドプロンプトの点滅しているところで、右クリックをすると自動で貼り付けられます。貼り付けたらエンターキーを押して下さい。

正しく実行されると下画像のようになります。「シンボリックリンクが作成されました」となれば成功です。

⑯ MT4のデータフォルダ内にesterフォルダのシンボリックリンクが作成されました。

「コマンドプロンプトを使用してシンボリックリンク作成する方法」は以上になります。

ソフトを使用してシンボリックリンク作成する方法

シンボリックリンクをソフトを使用して作成する方法を説明致します。

パソコンにフリーソフトをインストールすることに抵抗がない方でしたら、こちらの方法がとても簡単です。

こちらからフリーソフト(個人利用の場合)の「Explzh」をダウンロードして下さい。

② ダウウンロードしたファイルをダブルクリックして指示に従いインストールして下さい。

testerホルダを移動先フォルダ(今回はMT4-Backtest02)にコピーします。
*コマンドプロンプトの場合のを参照して下さい

④ 移動元のフォルダの名前を変更するか、削除します。
私の場合は、名前を変更しました。名前の最後にデフォルトの"D"を付けました。
*コマンドプロンプトの場合のを参照して下さい

⑤ シンボリックリンクするフォルダをシンボリックリンクを作成するフォルダに右クリックしながらドラックアンドドロップします。

⑥ 出て来たメニューから「シンボリックリンクをここに作成(L)」をクリックして下さい。

この画面が出たら「はい」を選択します。

コマンドプロンプトのときと同じように、シンボリックリンクが作成されました。

「ソフトを使用してシンボリックリンク作成する方法」は以上になります。

これで容量の多いDドライブにデータが保存されますので、容量が原因で途中で停止するこは無くなりました。

シンボリックリンクはMT4だけではなく、他にもいろいろと活用できると思います。

複数のMT4のフォルダを共有させる方法

ここでは、先ほどのシンボリックリンクを利用して、複数のMT4の一部のフォルダを共有させる方法を紹介致します。

フォルダを共有させることにより、インジケータやEA、定型チャートも1つのフォルダに保存できますので、インジケータ等を複数のMT4へ何度もコピーする作業が無くなりとても便利になります。

MT4で共有させたいフォルダの選定

まずは、MT4で共有させたいフォルダを選定します。

今回は、「MQL4」と「templates」のフォルダをそれぞれ複数のMT4で共有できるようにします。

MQL4フォルダには、インジケータやEAが格納されています。templatesフォルダには定型チャートが格納されています。

フォルダの共有設定

それでは、フォルダの共有設定について説明致します。

すでに、MT4が2つインストールされていることが前提で説明致します。それぞれ、MT4-01、MT4-02とします。

① 任意の場所に、共有フォルダを作成ます。
私の場合は、Dドライブに「MT4-Data」としたフォルダを作成しました。

② ①で作成した共有フォルダに「MQL4」と「templates」のフォルダをそれぞれコピーします。

③ MT4-01、MT4-02のフォルダの名前を変更するか、削除します。
私の場合は、名前を変更しました。名前の最後にデフォルトの"D"を付けました。

④ 「MQL4」と「templates」フォルダのシンボリックリンクを作成
前述した、コマンドプロンプトまたは、ソフトでシンボリックリンクを作成します。

「フォルダの共有設定」は以上になります。

共有フォルダの利用方法

次は、共有フォルダをどのように利用するかになります。

「MQL4」フォルダには、インジケータやEAが格納されていますので、共有フォルダの「MQL4」フォルダにインジケータやEAを保存します。

そうすることで、2つのMT4でインジケータやEAを共有することが出来ます。

文字の説明では分かりにくいので、画像で説明致します。

今回使用するインジケータは、こちらのLINE登録で頂いた無料のインジケータになります。ありがとうございます。

そして使用するEAは、サインインジケータをEA化する、こちらSignToEAの簡易版をスクールで頂けますので、こちらを使用します。ありがとうございます。

「Indicators」と「Experts」フォルダの両方を使用しますので、この選択に致しました。

① 共有フォルダの「MQL4」→「Indicators」フォルダにサインインジケータを保存します。
今回は、頂いたインジケータの「GM-CROSS」を使用してみます。

② それぞれのMT4にインジケータが保存されているか確認します。
されていない場合は、シンボリックリンクが間違っていると思いますので、シンボリックリンクを作成し直して下さい。
*3つのフォルダの中身は全て同じになります。

③ 共有フォルダの「MQL4」→「Experts」フォルダにEAを保存します。
今回は、スクール版のSignToEA を保存。名前をSignToEA (GM-CROSS)に変更しました。

④ それぞれのMT4にEAが保存されているか確認します。
このように、1箇所のフォルダに保存するだけで、複数のMT4でインジケータやEAが使用できるようになります。

MT4-Dataフォルダ、MT4-01、MT4-02のシンボリックリンクを作成したフォルダは、同期しているので、どこか1つに保存すれば大丈夫です。

保存するフォルダのショートカットやクイックアクセスを作成すると便利です。

「共有フォルダの利用方法」は以上になります。

MT4で動作確認

設定した共有フォルダがしっかり動作するか2つのMT4で確認します。

①MT4-01とMT4-02の2つのMT4を開きます。

②MT4-01に適当なチャートを開きます。

③先ほど保存したインジケータ「GM-CROSS」ををチャートにドラックアンドドロップします。

このようになります。

④次にEAの「SignToEA (GM-CROSS)」をチャートにドラックアンドドロップします。

EAがセットされました。

⑤この状態を「定型チャート」として保存します。(名前はGM-CROSSとしました)

⑥MT4-02に適当なチャートを開きます。

⑦MT4-01で作成した定型チャート「GM-CROSS」をMT4-02に適用させます。

このようになります。

「Indicators」「Experts」「templates」フォルダが共有されていますので、MT4-01で作成した「定型チャート」がMT4-02でも簡単で、すぐに適用出来る様になります。(その逆でも大丈夫です)

因みに、この状態で相場が動いているときに稼働させると、下画像の様に矢印が出る度にトレードします。
今回は動作確認の為、全ての矢印でトレードする設定にしましたが、全ての矢印でトレードすることは推奨されておりません。無料講座で選定方法を教えて頂けます。

決済もPipsで決済される設定になっていますので、適切ではありません。SignToEA(スクール版)はコードが頂けますので、決済やエントリーの設定は自身で追加・変更が可能です。

上記設定で、足時間や通貨ペアを変更して、4個のデモ口座で約3週間動作確認を行いました。私の環境では特に問題はございませんでした。

そして、2個のMT4を同時に、上記設定で「バックテスト」行いましたが、問題なく出来ました。

しかし、必ずしも動作を保障するものではございません。ご自身でしっかりと確認をした上での運用をお願い致します。

「複数のMT4のフォルダを共有させる方法」は以上になります。

MT4でバックテストができない原因はフォルダの容量オーバー!?のまとめ

今回の記事は、長くなり申し訳ございません。最後まで読んで頂きありがとうございます。

主題としては、「バックテストができない原因」の解決方法の1つとして、フォルダの移動をご紹介しました。

こちらは、私のようにパソコンの容量が少ない方はとても有効な方法です。ソフトを入れてしまえばとても簡単に出来ますので、パソコン操作が苦手な方もすぐに出来ると思います。
*私は、応用編のシンボリックリンク作成はソフトを利用しました。

応用編の共有フォルダ設定は、複数のMT4を使用する際は特に有効です。

特にバックテストを行う際は、複数のMT4で同じEAを足時間や通貨ペアを変更して同時にバックテストが可能ですので、時間短縮になります。

コードの書き方によっては、決済価格なども変更可能ですので、決済幅変更した設定を複数のMT4で同時にバックテストするこも可能です。

私のパソコンは2つが限界でしたが、性能の良いパソコンでしたら、もっと同時にバックテストが行えるかも知れません。

繰り返しますが、必ずしも動作を保障するものではございません。ご自身でしっかりと確認をした上での運用をお願い致します。

Programming master school
おすすめの記事