MT4でバックテストをするときは必ず正しいヒストリカルデータを使ってテストをしないと正しい検証が出来ません
高精度なヒストリカルデータの取得
手っ取り早くデータを準備するのであれば、MT4の「MetaQuotes社」のヒストリーセンターからデータをダウンロードすることができます。
メニュー「ツール」-「ヒストリーセンター」を開く。
バックテストに利用する通貨ペアの「1 Minute(M1)」をクリックし、「ダウンロード」ボタンを押下。
しかし、「MetaQuotes社」のデータは精度があまり良くありません。精度が良くないというのはデータが欠けているということです。
これではデータが欠けているとポジション持たなかったり、決済しなかったりします。
そこで、FXDDからヒストリカルデータをダウンロードしましょう!
1.MT4の既存のヒストリカルデータを削除
MT4に既に格納されているヒストリカルデータを削除します。
メニュー「ファイル」-「データフォルダを開く」と現在使っているアカウントがエクスプローラーに表示されるのでそのアカウントのフォルダをクリックすると下記のようなファイル一覧があります。
その中の拡張性が「.hst」のファイルを全部消します。(テストで使用する通貨のみでもOK)
MT4のバーの数を増やします
MT4で扱うバーの数を増やします。
MT4を起動して、メニュー「ツール」 – 「オプション」 – 「チャート」タブを開く。
ヒストリー内の最大バー数、チャートの最大バー数に「9999999999」と入力して、OKをクリック。
再度「チャート」タブを開いて、それぞれの値が最大値である「2147483647」になっていることを確認。
MT4にFXDDのヒストリカルデータをインポート
MT4の画面から、メニュー「ツール」-「ヒストリーセンター」を開きます
バックテストに利用する通貨ペアの「1分足(M1)」をクリックし、「インポート」ボタンを押下。
※グレーアウトしている場合は、ダブルクリックすると表示されます
ファイル名の横にある「参照」ボタンをクリックし、先ほどダウンロードしたヒストリカルデータを選んで「OK」ボタンを押します
※ファイルが見つからない場合は、表示する拡張子を「全て」にして下さい
インポート前と比べて、データベースのレコード数が増えていることを確認して、「閉じる」ボタン押します。
※データを反映させるために、MT4の再起動が必要です。
※全てのMT4にインポートすると結構、MT4がメモリ使うので、「選択したものを使用」にチェックいれて1年分くらいでも問題ありません。
基本的にMT4でバックテストは直近の方がいいですね。過去はあくまでも過去なので!
インポートしたFXDDの1分足から他の時間足データの作成します
インポートした1分足のデータをもとに、5分足から日足までのデータを作成します。
MT4のメニュー「ファイル」-「オフラインチャート」を開く。
メニュー「ファイル」-「データフォルダを開く」と現在使っているアカウントがエクスプローラーに表示されるのでそのアカウントのフォルダをクリックして
更にMQL4 – Scriptsへ移動する
そしてperiod_converter_ALLをコピーする
period_converter_ALL.ex4
period_converter_ALL.mq4
period_converter_ALLのダウンロードはこちら
コピーしたらMT4を再起動して、ナビゲーターから「スクリプト」-「period_converter_ALL」をオフラインのチャートにドラッグ&ドロップします。
そうすると、オフラインチャートに1分足から全ての足のデータが作成開始されます。進行状況は画面に表示されます。
終わったら、メニュー「ファイル」-「データフォルダを開きます。
そして、history – 「アカウント名」フォルダに移動します
確認する箇所はGBPJPYp1.hstのサイズが大きいこと、そして全ての時間足のファイルが作成されていることを確認します。
更に、MT4のメニュー「ファイル」-「オフラインチャート」を開くとデータが増えた足のファイルが作成されています
最後に、MT4を再起動させてデータを反映させれば、ヒストリカルデータのインポート作業は完了です。
MT4で精度の高いバックテストを実施する重要性
MT4の自動売買では、EAのパフォーマンスを事前に検証することは非常に重要です。
また、より精度の高いバックテスト/最適化を行うのであれば、実際に本番運用するFX業者のデータを使用するのがベストです。
国内業者では「FXTF(FXトレードファイナンシャル)」は、ヒストリカルデータがダウンロード可能です





にほんブログ村