ヒストリカルデータを利用したバックテスト
EURUSDのヒストリカルデータを利用したMT4EAのバックテスト方法について説明します。
まずはヒストリカルデータのダウンロードとインポートです。
1.ヒストリカルデータをダウンロードする。
ダウンロードページは以下より。EURUSDをクリックして適当なところ(デスクトップなど)にダウンロードします。
ヒストリカルデータは圧縮されているので解凍しておきます。
2.MT4の最大バーの設定
MT4のメニューから「ツール」→「オプション」とクリックします。
「チャート」をクリックして「ヒストリー内の最大バー数」と「チャートの最大バー数」の数値を「999999999999…」のように大きな数値を入力し「OK」をクリックします。 自動的に最大バー数の限界値が設定されます。
再度、「ツール」→「オプション」→「チャート」で開いてみて、数値が下の画像のようになっていれば成功です。
3.チャートの表示
ツールバーの「New Chart」から「EURUSD」をクリックすることで、チャートが表示されます。 チャートはツールバーの「M1」をクリックし1分足を表示させて起きます。
4.データの削除
既存の1分足データが残っていると、新しいデータと一致しない部分が出てくるので、古いヒストリカルデータを削除してリセットします。
MT4のメニューから「ファイル」→「データフォルダを開く」を選択します。
※データフォルダが開いたら、ここでいったんMT4を閉じます。
MT4を閉じたら、「history」フォルダを開きます。
ヒストリカルデータが格納されいているフォルダがいくつかあるので、現在MT4でログインしているしているサーバーのフォルダを開きます。
該当する通貨ペア(今回はEUEUSD)の「.hst」ファイルを削除します。
MT4を起動させます。しばらくしたらEURUSDの1分足チャートが表示されますので、再度MT4を閉じて再起動させます。この作業で新しい1分足データがMT4に反映されます。
5.ヒストリカルデータのインポート
「ツール」→「ヒストリーセンター」をクリックします。
【通貨ペア】の「EURUSD」の「1Minute(M1)」をダブルクリックすると右側のウインドウに1分足のヒストリカルデータが表示されます。 表示されたデータの【時間】の一番上をダブルクリックします。(画像の矢印部分)
日足データウインドウが開くので【日付】の年の部分に「2000」と入力し「OK」をクリックします。
ここでいったんヒストリカルデータウインドウは閉じます。 チャート上で右クリックして「更新」をクリックします。
チャート右下の数値が上がるので止まるまで待つ。
※一部口座ではこの方法では更新できない場合があります。その場合は時間を変更したデータを削除して、キーボードの「← キー」をチャートの動きが止まるまで長押することで過去のデータにさかのぼれます。
数値の上昇が止まったのを確認したら、メニューの「ツール」→「ヒストリーセンター」でEURUSDの1分足を開き、ヒストリカルデータの一番下をクリックし、先ほど時間を変更したデータを削除します。
ヒストリーセンターのウインドウを閉じてMT4を再起動します。(MT4を再起動させることでヒストリカルデータが更新されます)
MT4を再起動したらメニューの「ツール」→「ヒストリーセンター」を開き、「インポート」をクリックします。
インポートウィンドウが開くので「参照」ボタンをクリックする。
①ファイルの種類を「MetaQuotes files」か「All Files」にする。
②「EURUSD.hst」をクリックする。
③ファイル名に「EURUSD.hst」が表示されたら右下の「開く」ボタンをクリックする。
ヒストリカルデータが反映されたら、「OK」をクリックする。
ヒストリカルデータの一番下が2005年のものになっていれば成功です。(一部の通貨ペアでは一番古いデータが2005年でない場合もあります)
ヒストリーセンターを閉じて、MT4を再起動させてください。(MT4を再起動させることでヒストリカルデータが更新されます)
6.時間足の生成
1分足のヒストリカルデータのインポートは終わりましたが、他の時間足はまだデータとして存在しませんので、MT4のスクリプトを利用して他の時間足を生成していきます。
MT4のメニューから「ファイル」→「オフラインチャート」をクリックしてください。
「ヒストリカルデータ」の「EURUSD,M1」の部分をクリックして、「開く」をクリックします。
【EURUSD,M1(offline)】のチャートが表示されます。
ナビゲーターの「スクリプト」→「PeriodConverter」をクリックします。
「PeriodConverter」ウインドウが表示されるので、まずは5分足を生成してみます。
「パラメーター」の入力の「バリュー」の値を「5」に変更し「OK」をクリックします。「オフラインチャート」を確認してみると5分足が生成されているのが分かります。
同様にして、「PeriodConverter」のバリューの値を「15」「30」「60」「240」「1440」にそれぞれ変更して、15分足、30分足、1時間足、4時間足、日足を生成します。
その際に次のようなウインドウが表示されたら「はい」をクリックします。
生成が完了したら、「オフラインチャート」を確認してみます。
「バー」の数値を見てみると、5分足のバーの数(623047)は1分足のバーの数(3101418)のほぼ5分の1の数になっています。
同様に15分足のバーの数(207953)は1分足のバーの数の15分の1、30分足のバーの数(104140)は1分足のバーの数の30分の1というように、各時間足のバーの数がキチンと相関されているかを確認してください。 また各時間足の「開始」と「終了」の日にちが同じ日になっていることも確認してください。以上でヒストリカルデータ編は終了です。MT4を再起動してください。
EURUSDの1分足オフラインチャートは削除してけっこうです。
実際にバックテストを行う場合は、バックテスト ストラテジーテスター編をご覧下さい。
当サイトのEAにご興味のある方は以下のボタンよりMT4 EAを無料にて取得可能です。
ブログランキングにも参加していますので、ページ訪問をきっかけに是非クリックをいただけると嬉しいです。