XMのMT4を使ったバックテスト方法を紹介していきます。
バックテストに慣れない人向けに、設定方法と使い方、動かない時の対処方法も解説していきます。
MT4のバックテストは、まずヒストリカルデータを入れ替える必要があるので、ヒストリカルデータについても触れたいと思います。
XMのバックテストとは?自動売買EAの過去の成績が分かる
バックテストとは自動売買EAの過去の成績を計測するテスターのことで、過去のチャートデータを使って成績を見ることができます。
バックテストをすることで、成績だけでなく「EAがどのようなタイプか?」「デメリットや弱点があるのか?」などを調べることが可能です。
EAを購入・取得した時は必ずバックテストをして成績を見てから稼働するか判断しましょう。
自動売買EAをバックテストをする理由
EAをバックテストをすることで「このEAは利益を出すか、損失を出すか?」の判断をするだけでなく「安定性はあるか?」「コツコツドカンタイプか?」などのEAの特徴をみることができます。
また、無料でダウンロードできるQuantAnalyzerを使うことで、年間成績、月間成績を見れたり、VIXが高いタイミングでの成績を見ることも可能です。
まずは過去の成績をしっかりと調べ、利益を出すEAかどうかの判断をしていきましょう。
MT4でバックテストする前にヒストリカルデータを入れ替える
バックテストを開始する前に、MT4に初期に入っているチャートデータではエラーになる可能性が高いので、ヒストリカルデータの入れ替え作業が必要になります。
ヒストリカルデータは「過去のチャートデータ」のことを言いますが、いくつかの方法で入手することができます。
別ページでヒストリカルデータの説明をしているので、まずはデータを入れ替える作業をしてからバックテストを進めていきましょう。
> XMのヒストリカルデータ・過去データをダウンロードしてバックテストをする
MT4バックテストの設定と手順
ここからはMT4バックテストの設定と流れについて画像付きで説明していきます。
XMの公式YouTubeでも設定手順を紹介しているので、ぜひ参考にしてください。
EAデータをMT4に入れる
まずはEAのデータをMT4にインポートしていきましょう。
ファイル → データフォルダを開く
MT4を開いて「ファイル」→「データフォルダを開く」をクリックします。
MQLを開く
「MQL」を開きましょう。
Expertsを開く
「Experts」を選択します。
EAファイルを入れる
こちらのEAデータ(.ex4)ファイルを入れます。
MT4の更新または再起動をする
ファイルを入れたら、一旦MT4を更新または再起動しましょう。
更新はナビゲーターのインジケーターやEAの箇所で右クリックをすると「更新」を選択することができます。
バックテストを稼働する
続いてバックテストをしていきます。
バックテストは「ストラテジーテスター」という機能を使います。
表示 → ストラテジーテスター
MT4の上にある「表示」→「ストラテジーテスター」をクリックします。
そうするとストラテジーテスターが下の方に表示されます。
ストラテジーの説明
1.EAを選択
2.通貨ペアを選択
3.モデル(全ティックがおすすめ)
4.開始日と終了日を選択
5.時間足を選択
6.スプレッドを設定
ストラテジーテスターは最初は小さく表示されているので、上に引っ張って「期間を指定」まで表示するようにしましょう。
ビジュアルモードはチェックを入れるとバックテストに時間がかかるため、チェックを入れない方がおすすめです。
①EAと②通貨ペアを選び、③モデルは「全ティック」を選択しましょう。
④期間を設定し、⑤時間足はEAで決められたものを選択して、⑥スプレッドはXMの平均スプレッドに合わせましょう。
10は1pipsのことを指し、15にすると1.5pipsとなります。
参考:XMのスプレッドを比較 スプレッドの広い通貨ペアと狭い通貨ペア
エキスパート設定
続いて「エキスパート設定」をクリックして、テスト設定を開きましょう。
テスト設定
テスト設定は初期証拠金を設定でき、「JPY」と手動で入力すると円でバックテストをすることができます。
バックテストは基本的にロング&ショート(買い売り両方)となっていますが、ロングオンリー、ショートオンリーのEAの場合はここで設定するようにしてください。
パラメーターの入力
パラメーターの設定は各EAによって違い、「ロット」や「単利・複利」「MaxSpread」などを設定することができます。
バックテストが動かない場合はMaxSpreadを調整したり、TakeProfit(利確値)を調整することで動くようになることも多いです。
内容を確認してスタート
バックテストの通貨ペアや期間などの内容を確認して、問題がなければスタートを押しましょう。
早ければすぐ終わるEAもありますし、遅ければ2日くらいかかるEAもあります。
指値や逆指値が入っているEAや、複雑なEAなどはバックテストに時間がかかることが多いです。
レポートを表示する
レポートタブをクリック
バックテストが終わったら「プチューン」という音が鳴るので、レポートを開きましょう。
右クリックしてレポート保存
レポートは右クリックをすることで保存することができます。
保存をしてhtmlファイルとして開きましょう。
バックテストデータ
純益:バックテストの損益
プロフィットファクター:「利益/損失」のことを言い、1で±0(1未満の場合はマイナス成績)
最大ドローダウン:バックテスト上で一番損失が大きかったタイミング(確定損失、含み損失含めて連続して落ちた合計金額)
バックテストデータはこのように結果の数値とグラフで表示されます。
右肩上がりになっていれば利益が上がっていて、ロスカットになれば右肩下がりになって証拠金がなくなっています。
純益の箇所やプロフィットファクター、最大ドローダウン、平均利益・最大利益、平均損失・最大損失などをチェックしましょう。
バックテストで押さえておくべきポイント
バックテストで押さえておくべきポイントは、利益だけでなく以下の2点を見るようにしましょう。
最大ドローダウン
最大ドローダウンはバックテスト期間での一番成績が落ちた金額(含み損も含めて)になるので、最大ドローダウン以上の金額を証拠金に入れる必要があります。
最大ドローダウンは小さいほど優秀なEAになります。
できるだけ長期間でバックテストをして、最大ドローダウンがどれくらいの金額になるのか確認するようにしましょう。
平均利益・最大利益と平均損失・最大損失のバランス
利益と損失のバランスも非常に大事で、特にコツコツドカン(利益をコツコツ積み重ねて、大きくドカンと損失が出るタイプ)は精神上良くないので注意しましょう。
バックテストで大きな利益が上がっていても、いざドカンが来た時に精神的な負担は大きいです。
これが連続で2回、3回ドカンが来た時には、気持ち的にEA稼働を続けられなくなる可能性もあるので、ドカンが少ないEAを選ぶのが大切です。
コツコツドカンの傾向がある場合はロットを小さく設定するなど、工夫して使うようにしましょう。
バックテストが稼働しない時の対処方法
→ 今動かしているMT4と、ダウンロードしたEAの口座番号が合っているか確認してください
再起動をする
→ 一度、再起動をして試してみてください
期間を変えて動かしてみる
→ 期間を変更して動かしてみてください(動いた場合は次の項目を参照)
TPやSL・MaxSpread設定を変える
→ TPやSL・MaxSpreadを少し広げてやってみてください(これが原因で結果が出ないことがあります)
エキスパート設定のパラメーターを確認してください
→ まれに「通貨ペア」を選ぶ箇所があり、通貨ペアが違うと動かないことがあります
バックテストが動かない場合、まずは口座番号が間違えていないか、EA名や通貨ペア、時間足などが間違えていないかチェックしましょう。
TakeProfit(利確値)やStopLoss(損切値)、MaxSpreadを広げてみて稼働すると、動く場合も多いです。
複数通貨ペア対応のEAの場合は、パラメーターで通貨ペアを選ぶ箇所がある場合もあるので、パラメーターも確認するようにしてください。
MT4バックテストの注意点
MT4でバックテストをする場合の注意点です。
過去データが良くても今後が良いかどうかは分からない
自動売買EAは過去のデータが良くても、今後も成績が良いかどうかは分かりません。
過去の成績が良くても、実際に稼働するフォワードテストをすると全然ダメなEAも多いです。
そういうEAは「たまたま過去の成績が良かっただけのEA」ですので、必ずフォワードテストをするようにしましょう。
(フォワードテストはデモ口座を使ったり、小さなロットでテスト稼働することを言います)
過去データが悪い場合は必ず成績が悪くなる
これは経験上の話ですが、過去の成績が悪いEAは、実際に稼働しても成績が悪くなることがほとんどです。
一時的に成績が良いEAもありますが、最後には必ず成績が悪くなります。
バックテストの成績が悪いEAや微妙なEAは使わないようにしましょう。
安定性の低いEAを使用しない
バックテスト結果が安定しないEAも、あまりおすすめではありません。
このような不安定な成績のEAは、長期的にマイナスが続くことも多く、ドローダウンも大きくなりがちです。
1ヶ月、2ヶ月マイナス程度は我慢できても、半年間ずっとマイナスが続くと、心理的に我慢ができなくなることが多いです。
できるだけ長期的に安定したEAだけを使うようにしましょう。
スプレッドはXMに合わせて検証バックテストをする
XMでEAを稼働させる場合、XMのスプレッドに合わせてバックテストをするようにしましょう。
EAによっては利確値が小さく、スプレッドによっては利益が出にくいEAもあります。
稼働する海外FX業者に合わせてバックテストをするのがおすすめです。
ナンピン系は長期運用できないことが多い
ナンピン系のEAは短期運用で最大限の利益を狙うため、長期運用できないことが多いです。
ロスカットされることが前提で作られているため、バックテストの正しい評価が難しくなっています。
1ヶ月や3ヶ月ごとにバックテストをして損益を合計したり、ロスカットされることを前提に「ロスカットの損失よりも利益の方が大きいか?」を基準に検証する必要があります。
ロスカットは精神的な負担も大きいため、ナンピン系はあまりおすすめではないですが、ナンピン系を運用したい場合はロスカットありきでバックテストをして検証しましょう。
通常のバックテストはBidデータのみ
通常のMT4やFXDDなどのヒストリカルデータはBid(売り価格)のみのデータとなっています。
そのため、実際のask(買い価格)がいくらだったのかが分からず、場合によっては大きく差が開いていた可能性もあります。
もし正しくバックテストをしたい場合はTDS(Tick Data Suite)などのaskも入ったヒストリカルデータを取得するようにしましょう。
開発者が提供するバックテストは信用しないこと
最後に注意点として、開発者が提供しているバックテストデータはあまり信用しない方が良いと思っています。
開発者はEAを売りたいので、自分に不利なデータは公開せず、都合の良い期間だけを切り取ってバックテストデータを公開している可能性があります。
開発者の言うことを鵜吞みにせず、ご自身でしっかりとバックテストをしてEAの検証を行うようにしましょう。
まとめ
XMのバックテストについて解説して来ました。
自動売買EAの過去の成績を見るにはバックテストが必要ですが、ヒストリカルデータの入れ替えが必要で、初心者には少々ハードルが高くなっています。
バックテストが上手く動かないこともよくあるため、対処方法を身に付けておきましょう。
コメント
MXのデモ口座でEAを動かして練習しています。
デモ口座ではバックテストは出来ないのでしょうか?
バクテストが動かなく悩んでいます。
ヒストリカルデーターファイルは、データーフォルダを開く → history → XMTrading Demo3 に入っています。
尚、デモ口座は XMTrading Demo3。
ストラジーテスターでバックテストを行う時に、ヒストリカルデーターをDemo3のフォルダに紐づけられれば動くような気がします。
如何でしょうか?
お世話になります。
バックテストが動かない原因はたくさんありますが、ヒストリカルデータは初期値ではバックテストが動かないので、入替えが必要です。
・XMのヒストリカルデータ・過去データをダウンロードしてバックテストをする
ヒストリカルデータの入替えができた場合、口座縛りがなければバックテストは可能です。
(口座縛りがあるEAの場合はバックテストが出来ない可能性があります)
その際に、
・MaxSpreadを広くする
・TPやSLを広めにしてみる
・期間を変えたり短くしてバックテストをする
このあたりで一度やってみてください。
バックテストは何かがひっかかると、すぐにエラーになります。