バックテストが動かない原因と対処法
こんにちは!EA-BANKです!
こちらの記事では、MT4を使ってEAのバックテストができない方向けに問題の原因や解決方法をわかりやすくまとめました。実際の画面のキャプチャ付きで解説します。
MT4でバックテストが動かない場合はまず、以下4つの項目に当てはまっていないかをご確認ください。
- バックテストするEAとMT4は同じアカウントであるかどうか
- 利用している通貨ペアであったり、設定した時間足などがEAとMT4で同じかどうか
- MT4でバックテストを行う方法手順を正しく進められているかどうか
- ヒストリカルデータが正しくインストールできているかどうか
1. バックテストするEAとMT4は同じアカウントであるかどうか
初歩的なミスですが、複数のMT4口座を持っている場合、EAを設定した時に使用したMT4のアカウントかどうかを確認しましょう。
2. 通貨ペアと指定した時間足が使用しているEAと同じかどうか
MT4に設定している通貨ペアと指定した時間足が使用しているEAと異なるとバックテストに反映されない可能性があります。レポート内容を見て、EAの販売ページに開示されているバックテストと大きく異なる場合はこのパターンが考えられます。
3. MT4でバックテストを行う方法を手順を正しく進められているかどうか
MT4でバックテストを行う際は手順通りに進めなければ正しいレポートが反映されません。バックテストの手順に関しては下記の記事を御確認ください。
< バックテストのやり方 >
その①:MT4のダウンロード
その②:ヒストリカルデータのダウンロード
その③:各時間足の生成
その④:バックテストの実施
4. ヒストリカルデータが正しくダウンロードできているかどうか
MT4でバックテストを行う際はヒストリカルデータをダウンロードする必要があります。
まだヒストリカルデータをダウンロードしていない方は下記記事を御確認ください。
MT4ヒストリカルデータのダウンロード・インポートする方法を解説!できない場合の対処方法も!
★ それでも解決しないなら操作履歴をチェック
上記の対処法を実行してもMT4でバックテストができない状態を解消することができない、といった場合はMT4の「操作履歴」の項目を確認してください。特に、このMT4の「操作履歴」の項目のなかで、エラーなどの表示が出ている場合は、その操作が影響してしまっていることが考えられます。
MT4の「操作履歴」を確認することは、MT4でバックテストができない状態を解消することにつながる可能性があります。
まとめ:MT4でバックテストができない場合
MT4でバックテストができない原因は次の4つが考えられることを解説しました。
- バックテストするEAとMT4は同じアカウントであるかどうか
- 利用している通貨ペアであったり、設定した時間足などがEAとMT4で同じかどうか
- MT4でバックテストを行う方法手順を正しく進められているかどうか
- ヒストリカルデータが正しくインストールできているかどうか
MT4でバックテストできない場合、ケアレスミスか正しい手順でバックテストを行っていないかのどちらかであり一つづつ確認することでバックテストをする事ができます。
バックテストのやり方・その1~MT4のダウンロード~
バックテストのやり方
EA-BANKを機に、バックテストのやり方を解説していきたいと思います。
ひょっとしたら、「バックテストはやったことない」という方がいらっしゃるのではないでしょうか?
バックテストができるようになると、EAを評価することができるようになります。
少しずつ、出来るだけ解りやすく解説いたしますので、ぜひご活用ください!
MT4のダウンロード
まずはバックテスト専用のMT4を作り、バックテストに必要な環境を整えていきます。
この初心者講座では、FXDDのMT4を使用したバックテストの方法を解説いたします。
まず、こちらのページからMT4のダウンロードします。
「MetaTrader4をダウンロード」をクリックします。
セットアップファイルが起動しますので、「実行」をクリックします。
「次へ」をクリックします。
「完了」をクリックします。
MT4が起動し、デモ口座の申請画面が開きますので、サーバーを選択します。
「FXDD-MT4 Demo Server」を選択し、「次へ」をクリックします。
アカウントを選択します。
「新しいデモ口座」を選択し、「次へ」をクリックします。
お客様情報の記入をします。
- お名前:ローマ字入力
- Eメール:メールアドレス
- 電話番号
- 口座タイプ
- 証拠金
- レバレッジ
「貴社からのニュースレター受取りに同意します」にチェックを入れて、「次へ」をクリックします。
登録確認画面が開くので、「完了」をクリックします。
MT4のインストール完了です。
まとめ
これでバックテスト専用のMT4ができました。
しかし、これだけではまだバックテストを行うことはできません。
バックテストを行うためには「ヒストリカルデータ」をMT4に入れなければならないです。
そこで、次回はバックテストに必要なヒストリカルデータをMT4に入れるところを解説いたします。
バックテストのやり方は一度覚えてしまえば難しくありませんので、ぜひマスターしてMT4を使いこなしましょう!
次の記事:「バックテストのやり方・その2~ヒストリカルデータのダウンロード~」
FX・MT4お役立ち情報へ
バックテストのやり方・その2~ヒストリカルデータのダウンロード~
MT4の設定
それでは、バックテストをする為のMT4の設定していきます。
まずは使わないウィンドウを閉じていきます。
- 気配値表示
- ターミナル
- チャート
上記のウィンドウが開いている場合、「×」ボタンをクリックしてウィンドウを閉じます。
MT4がスッキリしましたね。
MT4画面の左上にある、「ツール」⇒「オプション」とクリックします。
「チャート」タブをクリックします。
「ヒストリー内の最大バー数」と「チャートの最大バー数」に「9999999999999999」と入力します。(「9」が入力できなくなるまで入力します)
そうして、「OK」ボタンをクリックします。
再度、「ツール」⇒「オプション」⇒「チャート」をクリックします。
「ヒストリー内の最大バー数」と「チャートの最大バー数」に「2147483647」と表示されていればOKです。
「ツール」⇒「オプション」⇒「エキスパートアドバイザ」をクリックします。
- 自動売買を許可する
- DLLの使用を許可する(信頼できるアプリケーションのみで有効)
- WebRequestを許可するURLリスト:
こちらの3つにチェックを入れて「OK」をクリックします。
左上の「ファイル」⇒「データフォルダ」クリックします。
「history」⇒「FXDD-MT4 Demo Server」とクリックします。
「.hst」の拡張子の付いているファイルを右クリックして「削除」します。
データフォルダタブの右上の「×」ボタンをクリックしウィンドウを閉じます。
MT4の右上「×」ボタンをクリックして一度MT4を閉じてください。 そして、再度、MT4を起動させます。
以上でMT4の設定は終了です。
ヒストリカルデータとは
「ヒストリカルデータ」とは、為替レートの過去のデータのことを示します。
MT4はヒストリカルデータを使ってバックテストをすることができます。しかし、MT4の初期状態はバックテストをする為の為替データが少ししか入っていません。
その為、長期間のヒストリカルデータを新たにMT4へ読み込ませる必要があります。
ヒストリカルデータのダウンロード
FXDDのこちらのページからヒストリカルデータをダウンロードします。
赤枠がダウンロードできるヒストリカルデータです。 FXDDでは21種類の通貨ペアのヒストリカルデータをダウンロードできます。
バックテストしたい「通貨ペア」を選択します。 今回は「EUR/USD」を選択し、ダウンロードします。 ZIPファイルが開きますので、「名前を付けて保存」をクリックします。
分かりやすいように、デスクトップに保存します。
ZIPファイルがデスクトップに保存されました。
ダウンロードしたZIPファイルをダブルクリックして解凍します。 もしくは、ZIPファイルの上で、右クリックし「解凍」⇒「デスクトップに解凍」をクリックします。
「EURUSD.hst」ファイルが解凍されていればOKです。
以上で、ヒストリカルデータのダウンロードが完了です。
「hstファイル」には、過去数年間分の「1分足の4本値データ」が入っています。
4本値データとは「始値、高値、安値、終値」のことを示します。 FXDDのhstファイルは通貨ペアによって違いますが、「2005年~現在まで」 「2007年~現在まで」 のデータが入っています。
ヒストリカルデータのインポート
ヒストリカルデータのダウンロードが完了したら、MT4でヒストリカルデータを使える状態にします。
MT4画面の左上にある「ツール」⇒「ヒストリーセンター」とクリックします。
ヒストリーセンターのタブが開きますので、「EURUSD」⇒「1分足」とダブルクリックします。
MT4の初期状態では1分足で、3日分ほどのデータしかありません。 そこで、先ほどFXDDからダウンロードしたヒストリカルデータを読み込ませますので、「インポート」をクリックします。
インポートのタブが開きますので、右上の「参照」をクリックします。
右下の「ALL Files」を選択し、「EURUSD」ファイルをダブルクリックします。
「EURUSD.hst」ファイルをクリックし、「開く」をクリックします。
これで2005年~現在までの「EURUSDの過去データ」を読み込みました。 そうして、「OK」ボタンをクリックします。
右側のスクロールバーを動かしてデータがしっかり入っていることを確認し、「閉じる」をクリックします。
MT4の右上「×」ボタンをクリックして一度MT4を閉じてください。
その後、再度MT4を起動させます。
以上でヒストリカルデータのインポートが完了しました。
まとめ
今回まででMT4の設定と長期間のヒストリカルデータの準備ができました。
しかし、ヒストリカルデータはまだ1分足のデータまでしかありません。そのため、次回はバックテストに必要な各時間足の生成をします。
バックテストを行えるようになるまでもう一息ですので、がんばりましょう!
次の記事:「バックテストのやり方・その3~各時間足の生成~」
FX・MT4お役立ち情報へ
バックテストのやり方・その3~各時間足の生成~
各時間足の必要性
前回はMT4に1分足のヒストリカルデータをインポートしました。
MT4で5分足専用のEAをバックテストする為には、5分足のデータが必要になります。
また、EAによっては、内部ロジックで他の時間足のテクニカルを使用している場合もあるので、そういった場合も他の時間足のデータが必要になります。
その為、インポートした1分足のヒストリカルデータを元に「5分足、15分足、30分足、1時間足、4時間足、日足、週足、月足」までのデータを生成します。
各時間足の生成
それでは、各時間足を全自動で生成してくれる 「period converter ALL」というスクリプトをダウンロードします。 MQL5コミュニティのサイトからダウンロードします。
サイト上段の「period_converter_ALL mq4」をクリックして「名前を付けて保存」を選択します。
保存場所が分かりやすいように、デスクトップへ保存します。
これで「period_converter_ALL」のmq4ファイルがデスクトップに保存されました。
MT4左上の「ファイル」⇒「データフォルダ開く」とクリックします。
「MQL4」⇒「Scripts」とクリックします。
先ほどダウンロードした「period_converter_ALL」のmq4ファイルを貼り付けます。
データフォルダタブの右上の「×」ボタンをクリックしてウィンドウを閉じます。
MT4の右上「×」ボタンをクリックして一度MT4を閉じてください。 その後、再度MT4を起動させます。
MT4左上の「ファイル」⇒「オフラインチャート」とクリックします。
「EURUSD,M1」を選択し、「開く」をクリックします。そうすると、EURUSDのオフラインチャートが開きます。
左側のナビゲーターから「スクリプト」をダブルクリックします。
「period_converter_ALL」が表示されますので、「period_converter_ALL」をEURUSDのオフラインチャートへ「ドラッグ&ドロップ」します。 もしくは、「period_converter_ALL」をダブルクリックします。
オフラインチャートの左上に各時間足の生成状況が表示されますので、表示が消えれば生成完了です。
それでは、確認してみます。
MT4左上の「ファイル」⇒「オフラインチャート」とクリックしてみましょう。
EURUSDの「5分足、15分足、30分足、1時間足、4時間足、日足、週足、月足までの全時間足」が生成されました。
以上で、各時間足の生成が完了しました。
次の記事:「バックテストのやり方・その4~バックテストの実施~」
FX・MT4お役立ち情報へ
バックテストのやり方・その4~バックテストの実施~
EAの準備
前回まででMT4をダウンロードしインストールしました。
その後、ヒストリカルデータをダウンロードし各時間足のオフラインチャートを作成しました。
バックテストのやり方・その2~ヒストリカルデータのダウンロード~
ここからは、テストするEAを準備していきます。
MT4左上の「ファイル」⇒「データフォルダ開く」とクリックしていきます。
「MQL4」フォルダをクリックします。
「Libraries」フォルダをクリックします。
「certmod.dll」ファイルを貼り付けます。
※EA-BANKのEAをバックテストする場合は、「certmod.dll」ファイルを設定しないとバックテストができません。
「certmod.dll」ファイルは各EAをダウンロードしていただきますと、ファイル内にEA本体(exファイル・MQLファイル)の他、「certmod.dll」として同梱しております。
ひとつ上のフォルダに戻り、「Experts」フォルダをクリックします。
「Experts」フォルダの中に、テストしたいEAを貼り付けます。
その後、右上の「×」ボタンをクリックして、エクスプローラを閉じます。
MT4の右上「×」ボタンをクリックして一度MT4を終了してください。
そして、再度MT4を起動させます。
MT4が再起動したら、左上の「ファイル」⇒「取引口座にログイン」をクリックします。
「パスワード」をすべて消して「ログイン」をクリックし、ログインを失敗させます。
チャート右下に「コモンエラー」と表示されていればOKです。
ログインを失敗させるのは、FX会社との通信を切る為です。
MT4はオンラインのままでバックテストを行うと、バックテストのために作成した「オフラインデータ」に、通信によって取得された「オンラインデータ」が上書きされてしまいます。
そうなると「不整合チャートエラー」が発生してしまう可能性があり、正しいバックテストができなくってしまいます。
以上で、バックテストするEAの準備が完了です。
ストラテジーテスターの解説
続いて、バックテストを行うための「ストラテジーテスター」をご説明します。
MT4左上のメニューバーから、「ストラテジーテスター」をクリックすると、MT4の画面下側に「ストラテジーテスター」が表示されます。
初期状態ではテスターの全項目が表示されていません。
テスターウィンドウの上側の枠を、クリックしたまま少し上側に引っ張る(ドラッグする)と全項目が表示されるようになります。
上記画像のように表示されればOKです。
ストラテジーテスターの各項目を解説します。
1. EAの選択
バックテストしたいEAを選択します。
2. エキスパート設定
EAのパラメーターを設定します。
3. 通貨ペア
バックテストする通貨ペアを選択します。
4. 期間
バックテストする時間足を選択します。
5. モデル
バックテストの精度を選択します。
「始値のみ」⇒「コントロールポイント」⇒「全ティック」の順で精度が高くなります。
6. スプレッド
バックテストするスプレッドを入力します。
1.5pipsでテストする場合は「15」と入力します。
7. 期間を指定
チェックを入れるとテストする期間が入力できます。
チェックを入れなかった場合、ヒストリカルデータの全期間でテストを行います。
8. ビジュアルモード
チェックを入れると、動いているチャートを見ながらEAがバックテストしている様子を見ることができます。ただし、テストの時間が遅くなります。
9. スタート/ストップ
スタートを押すとバックテストが開始します。
ストップを押すとバックテストが停止します。
バックテストの実施
これで準備が整いましたので、バックテストをしてみます。
バックテストしたいEAを選択し、各項目を入力していきます。
「エキスパート設定」をクリックしてください。
「テスト設定」タブを選択し、証拠金の金額と通貨を選択します。
バックテストできる通貨はデフォルトで「USD、EUR、GBP、CHF」の4つです。
もし日本円でバックテストしたい場合は「JPY」と手入力します。
今回は、10,000ドルでバックテストします。
「証拠金:10000」「通貨:USD」を選択します。
「パラメータの入力」タブをクリックします。
必要に応じてパラメータを変えてテストしてみてください。
今回はデフォルト設定でテストします。青枠のパラメーターを確認したら「OK」をクリックします。
バックテストを開始しますので「スタート」をクリックします。
バックテストが進むと緑のバーが右に進んでいきます。
「スタート」ボタンが「ストップ」に変わります。「ストップ」ボタンを押すとバックテストは停止します。
バックテストが終わると「完了音」が鳴り、バックテストが終わったことを知らせてくれます。
また「ストップ」ボタンが「スタート」に変わります。
「全ティック」でバックテストをした場合、おおよそ10分程度でバックテストは終わりますが、重いEAだと数時間から1日以上かかる場合もあります。
バックテストが完了したら「チャートを開く」をクリックすると、EAがバックテストしたチャートが開きますのでどんなトレードをしたか確認することができます。
「レポート」タブをクリックします。
5分足以上のバックテストは、「モデリング品質:90%(89.9%等の場合もあります)」「不整合チャートエラー:0」になっていれば正常にバックテストが完了していることになります。
1分足の場合は「モデリング品質:25%」が上限です。
「不整合チャートエラー」に「0」以外の赤字数字が発生した場合、オフラインデータが上書きされている等の原因が考えられる為、ヒストリカルデータの整合性が無くなってしまっている状態です。
バックテストのやり方・その2~ヒストリカルデータのダウンロード~
バックテストのやり方・その3~各時間足の生成~
こちらを参考に一旦ヒストリカルデータを削除して、再度データを入れ直してください。
またレポートタブ上で右クリックすると、バックテストレポートが保存できます。
デスクトップなどの分かりやすいところに、新しいフォルダを作って保存しておくと後で使いやすいです。
1. デスクトップを選択
↓
2. 新しいフォルダーを作成
↓
3. フォルダー名を変更(例 バックテストレポート等)
↓
4. ファイル名を変更(例 EA名等)
↓
5. 保存します
保存が終わるとブラウザーが開き、バックテストレポートが表示されます。
以上でバックテストが終了です。
お疲れさまでした!
まとめ
以上でバックテストの全工程が終了です。
最初は難しく感じるかもしれませんが、ぜひ挑戦してみてください。
慣れてきたら、パラメーターの数値を変更してバックテストの結果の違いを見たり、いろいろ試してみて欲しいと思います。
バックテストレポートの見方はこちらを参考にしてみてください。