MT4 EAを使って自動売買を始めるにあたって、バックテストは欠かせない作業ですよね。
しかし、時々バックテストがうまくいかないトラブルに見舞われることが…。
私も何度か同じような悩みにぶつかり、解決策を探し求めてきました。
この記事では、MT4 EAのバックテストができないトラブルに対する解決策をご紹介します。
読者の皆さんがスムーズにバックテストを行えるようになることを目指します。
私が実際に試して効果があった対策を、具体的な手順とともに分かりやすく解説します。
これらの対策を実践すれば、MT4 EAのバックテストができない悩みから解放され、より確実な自動売買を実現できるでしょう。
ヒストリカルデータがインポートされているか
ヒストリカルデータがないとバックテストをすることができません。
ヒストリカルデータとはバックテストをするための過去チャートのデータです。
まずはヒストリカルデータをインポートしましょう。
EAの時間足、通貨ペアは正しいか
EAには稼働可能な時間足と通貨ペアが決まっています。
時間足と通貨ペアはEAの説明のWEBページやマニュアルに必ず記載されているはずなので稼働前に確認しましょう。

口座が合っているか、口座縛りがないか
EAには稼働可能な口座を縛っている場合があります。
稼働口座はEAの説明のWEBページやマニュアルに必ず記載されているはずなので確認しましょう。
もし口座を縛っている場合は正常にバックテストできない可能性があります。
そういったEAは開発者に問い合わせるか、バックテストを諦めるかになります。
スプレッドフィルターにかかっていないか
多くのEAにはスプレッドフィルターというフィルターが搭載されています。
スプレッドフィルターとはスプレッドが広くなった時に自動的にエントリーを制御するものです。
スプレッドフィルターが狭すぎると永遠に取引ができなくなりますのでスプレッドフィルターが狭すぎていないか確認しましょう。

証拠金不足になっていないか
証拠金が不足しているとEAがポジションを持つことはできません。
十分な証拠金を設定するか、ロットを下げてEAを稼働させましょう。
ちなみに証拠金不足の場合、操作履歴のタブに「OrderSend Error 134 (not enough money)」のログが出力しているはずなので確認してみましょう。

ポジションはLong&Shortになっているか
ポジションがLongOnlyまたはShortOnlyになっている場合は買いだけまたは売りだけのポジションしか持ちません。
買いだけのポジションしか持たないEAがShortOnlyになっていたり、売りだけのポジションしか持たないEAがLongOnlyになっていたりするとEAがポジションが持つことはありません。
ポジションはLong&Shortを選択しましょう。

モデルは全ティックになっているか
全ティックでないとバックテストができないEAも存在する可能性がありますので、全ティックになっているか確認しましょう。

最適化にチェックマークがついていないか
最適化にチェックがついているとバックテストではなく、最適化を実施してしまいます。
最適化のチェックは外してバックテストを実施しましょう。

開始日、終了日はヒストリカルデータと合っているか
バックテストの開始日と終了日の期間にヒストリカルデータが存在しない場合はバックテストができません。
例えば2000年~2005年までのヒストリカルデータをインポートしたらその期間しかバックテストはできません。
バックテストの開始日と終了日がその期間に収まっているか確認しましょう。

操作履歴に何か出ていないか
エラーなどでバックテストができない場合、操作履歴にエラーが出力していることがありますので確認してみましょう。
出力されているエラーコードで検索すればエラーとなっている原因がわかります。

EAのパラメータは問題ないか
EAのパラメータに問題ないか確認しましょう。
基本的にはデフォルトの設定で問題ないかとは思いますが、パラメータをいじってしまったりした場合はリセットボタンを押してパラメータをリセットした状態でバックテストをしてみましょう。
上で説明したようなスプレッドフィルターのパラメータがバックテスト時のスプレッドより狭くなっているとフィルタにかかってバックテスト出来なくなるので再度確認しましょう。
PC、MT4を再起動したか
基本中の対策ですが、PCやMT4を長い時間起動しているとゴミファイルが溜まりMT4の挙動がおかしくなり正しくバックテストができないことがあります。
PC、MT4を再起動してからバックテストを実施してみましょう。
ヒストリカルデータが壊れていないか
ヒストリカルデータがうまくダウンロードできていなかったりするとエラーでバックテスト出来なかったりします。
ヒストリカルデータを再イダウンロードしてインポートしてみましょう。
時間がかかりすぎていないか
EAのソースコードが複雑になるとバックテストの時間も多くかかるようになります。
あまりに時間がかかってしまうとバックテストだけで何日もかかってしまうのでバックテストが動かないという勘違いが起きてしまいます。
バックテストの方法を「全ティック」ではなく、「始値」等に変えてバックテストするか、時間がかかるのを覚悟でバックテストしましょう
まとめ
今回はヒストリカルデータのインポートやEAの設定、PC・MT4の再起動など、具体的な手順を分かりやすく説明しています。
これらの対策を実践すれば、バックテストの悩みから解放されるでしょう!一緒にトラブルを乗り越えましょう!