【MT4の使い方】EAのバックテストを行う方法

2020年3月13日


お悩み人
MT4のバックテストってどうやるの?

どんなことが確認できるの?


初めてMT4を使う方はこういったお悩みをお持ちだと思います。

私も初めてMT4を使ったときにはバックテストのやり方がわからず色々と調べながら進めました。

同じような方でもわかりやすい様に、この記事ではMT4でEAのバックテストをするための設定から実際にバックテストを行って結果を確認するまでを詳しく解説します。


EAの設定方法についてはこちらを参考にどうぞ

https://atsulog.com/mt4-ea-setting/

MT4のバックテストとは

MT4のバックテストとは、過去のチャートを使ってEAの性能をテストすることです。

新しくダウンロードしたり自分で作ったEAを稼働させた場合に、利益が得られる性能なのか試してみないとわかりません。

現在より未来のチャートはどうなるか誰にもわからないので、過去のチャートでテストを行うことで、EAがどういった動きをするかを見極める必要があるんですね。

ただしバックテストで利益が出たからといってこの先も利益を出し続けることができるとは限らないので、あくまで参考として確認しましょう。


MT4でEAのバックテストを行う前の初期設定

MT4を起動して、「ツール」⇒「オプション」をクリックします。

ウィンドウが開くので、「チャート」のタブをクリックします。

ここで「ヒストリー内の最大バー数」と「チャートの最大バー数」に「9999999999999」と入力します。

これでOKをクリックすれば最大の数が自動で入力されます。

メモ


・ヒストリー内の最大バー数
  過去のチャートを1分足で何本まで使用できるかを表す数字
・チャートの最大バー数
  チャートに表示されるローソク足の最大本数

ヒストリー内の最大バー数の初期値である512000で計算すると
 1分足 × 512000本 = 512000分 ⇒ 365日
FXの年間取引日数は245日なので、365日/245日で約1.5年のデータが使えることになります。

1.5年のデータだけでバックテストを行うにはデータが少ないので、最大のデータが使えるように設定の変更を行う必要があるわけです。

「エキスパートアドバイザ」のタブをクリックし、下記のチェックボックスにチェックを入れてOKをクリックします。
 ・自動売買を許可する
 ・DLLの使用を許可する(信頼できるアプリケーションのみで有効)
 ・WebRequestを許可するURLリスト:

これでバックテストを行うための初期設定ができました。


ヒストリカルデータの入手

ここでは口座開設しなくても簡単にデータが利用できる「FXDD」のヒストリカルデータのダウンロード方法を紹介します。

FXDDダウンロードページ
 https://www.fxddtrading.com/bm/jp/resources/mt4-one-minute-data

ダウンローできる通貨ペアが表示されているので必要な通貨ペアを選んでクリックするとダウンロードが開始されます。

ここではUSD/JPYのヒストリカルデータをダウンロードします。

ダウンロードしたファイルを解凍すると「USDJPY.hst」ファイルができます。

このファイルをMT4で読み込んでバックテストができるようにします。


より信頼性の高いヒストリカルデータを使いたい場合はこちらの記事も参考にしてください。

https://atsulog.com/gmo-historical-data/


各時間足のデータを生成

古いデータの削除

ダウンロードしたUSD/JPYのヒストリカルデータをインポートする前に、まずは必要のない古いUSD/JPYのヒストリカルデータを削除しておきます。

MT4を起動してデータが入っているフォルダを開きます。

「ファイル」⇒「データフォルダを開く」をクリックするとフォルダが開くので、ヒストリカルデータが入っているフォルダまで移動します。

「history」⇒「サーバー名」(ここではFXTFのDemo口座なのでFXTF-Demoとなっています)を開いて、必要のないUSD/JPYのデータを削除しておきます。

もともと入っているUSD/JPYの古いデータは必要ないので削除します。


ヒストリカルデータのインポート

ダウンロードしたヒストリカルデータをMT4で使えるようにインポートする作業です。

「ツール」⇒「ヒストリーセンター」をクリックします。

ヒストリーセンターのウィンドウが表示されます。

表示されたウィンドウの中で「USDJPY」⇒「1分足」を選択します。
※ここでは「USDJPY-cd」となっていますが、取引単位が1000通貨の場合です。
 取引単位が10000通貨の場合には「-cd」はありません。

「インポート」をクリックするとインポートのウィンドウが開くので、「参照」をクリックします。

ダウンロードしたヒストリカルデータを選択して開きます。
※ファイル形式を「ALL Files(*.*)」にしないと表示されません。

これでUSD/JPYの1分足のヒストリカルデータがインポートされました。

次に、1分足のヒストリカルデータから各時間足のヒストリカルデータを生成します。

メモ

同じEAを使用した場合でも適用するチャートの時間足が違えば結果も変わります。

「ファイル」⇒「オフラインチャート」をクリックします。

「USD/JPY-cd,M1」を選択して「開くをクリックすると、USD/JPY-cdのチャートが開きます。

チャートが開いた状態で、「スクリプト」の下にある「period_converter_All」を選択してチャートへドラッグアンドドロップします。

各時間足への変換が始まりますのでしばらく待つと変換が終了します。

再度「ファイル」⇒「オフラインチャート」を開くと各時間足のデータが生成されているのが確認できます。

これで各時間足のデータ生成は完了です。


バックテストの実行

バックテストの準備ができたので、実際にバックテストをやってみましょう。

上部にあるツールバーの中から「ストラテジーテスター」のボタンをクリックするとバックテストのウィンドウが開きます。

バックテストを行うために下記の設定をします。

①テストする項目
 エキスパートアドバイザを選択します。

②テストするEA
 バックテストを行うEAを選択します。

③通貨ペア
 バックテストを行う通貨ペアを選択します。

④モデル
 バックテストに使用する価格の種類です。始値のみだとテスト時間は早いですが正確な結果を求める場合は全ティックを選択しましょう。

⑤期間
 バックテストに使用する時間足を選択します。

⑥スプレッド
 バックテストに使用するスプレッドの値です。現在値を選択しましょう。

⑦エキスパート
 バックテストを行う際のEAの設定をします。
 設定内容は各EAの設定を確認してください。

設定が終わったらスタートボタンをクリックすればバックテストが始まります。

バックテストが終了したらグラフやレポートを確認しましょう。

レポートのタブを開いて、右クリックのメニューから保存ができます。

保存したレポートを開くと詳細なレポートが確認できます。

レポートで見るべきポイントとしては下記の項目を重視しましょう。

・プロフィットファクター
 「総利益÷総損失」で表される数値で、1以上だと利益の方が大きく、1以下だと損失の方が大きいということになります。
 利益額の大きさよりもプロフィットファクターの方が重要であり、この数値が大きいほど良いEAだと言えます。

・ドローダウン
 一時的に損失が出た場合、その損失が口座資金のどれくらいの割合かを表す数値です。例えばドローダウンが50%だった場合、一度の損失で口座資金の50%を失ったことになります。
 重視するのは「最大ドローダウン」の数値で、バックテストを行った結果の中で一番大きなドローダウンの数値であり、この数値が大きすぎるEAは使わない方が良いでしょう。

性能の良いEAは、途中で上がったり下がったりを繰り返しながらもグラフが右肩上がりで確実に利益を積み上げていきます。

悪いEAのパターンとしては、一度のマイナスで大きな損失を出してしまい積み上げた利益を吹き飛ばしてしまうようなものです。私はそういうタイプのEAは嫌いなので使わないようにしています。


まとめ

この記事では、MT4を使ってEAのバックテストを行う方法について詳しく解説しました。

MT4で自動売買しようと考えている人は、ダウンロードしたり自作したEAを使う前にバックテストを実行してどのような結果が得られるかを確認しましょう。

最終的な結果だけでなく、そのEAがトレンド相場に強いのかレンジ相場に強いのか等もわかると思います。

それでは。よいFXライフを。


私が運用しているEAはこちらです。

https://atsulog.com/mt4-recommended-ea/
  • B!