今回はヒストリカルデータを作成して、MT4に取り込む方法について書いていきます。
前回の記事では、MT4でバックテストを実行するやり方と方法に触れましたが、更にテスト環境を整える方法です。
ヒストリカルデータとは?
過去の値動きのデータのことです。
カスタマイズをしていないMT4で見ているチャートにもある程度過去データは入っていますが、例えば1分足や5分足のデータは、あまり遡ってまでは、ありません。
自動売買プログラム(EA)の検証をするためには、長い期間でのテストができたほうがよいため、「ヒストリカルデータ」をダウンロードして利用するとよいのです。
データは、どこで入手できるの?
今回の連載で利用しているMT4はFXTF提供のものですが、FXTFでリアル口座を開設すると、会員専用の「マイページ」から、FXTF提供のヒストリカルデータをCSVでダウンロードすることができます。
FXTFのリアル口座を開設しない場合は、ここではなく別のFX業者「FXDD」からの提供データを利用できます。
今回は、持っていない方も考慮して、FXDDのデータを利用する方法を解説していきますね。
ちなみに、FXTFのデータを利用する際にも、ダウンロード元のサイトが違うだけで、基本的な操作方法は同じと考えてよいです。
ヒストリカルデータをダウンロードする
こちらのサイトにアクセスしてください。FXDD提供のヒストリカルデータダウンロードサイトです。
通貨ペアの一覧がそれぞれリンクになっていますね。…はい、そうです。地道な手作業になります。
ほしい通貨ペアの数だけ、ここからのダウンロードの操作を繰り返すことになります。
例としてここでは、「USD/JPY」をダウンロードしてみましょう。
「USD/JPY」をクリックしてください。次の画面では「名前を付けて保存」を選びます。
データは圧縮された状態であるため、このままMT4のフォルダに保存してもすぐには使えません。このあと「展開」の操作をしますので、とりあえず分かりやすいように、デスクトップ上にでも保存しておいてください。
引き続き、展開の操作をします。「フォルダーを開く」をクリックしてください。
ファイルの上で右クリックして「すべて展開」を選んでください。
展開先は、そのままデスクトップ上でよいです。[展開]をクリックしてください。
これで、「USD/JPY」のヒストリカルデータの準備ができました。
次にMT4で、データを取り込む前の準備をします。
MT4の事前準備・設定方法
MT4を開くといつも、自動的に口座にログインされてサーバーに接続され、最新の価格データが配信されてチャートが動き出しますよね。
ヒストリカルデータとは別のデータが入っている状態です。
ヒストリカルデータを取り込むにあたり、「常に最新の価格データが配信される」状態をいったん止める必要があります。
それでは、MT4を開いてサーバーへの接続設定を変更しましょう!
サーバーへの接続設定変更
メニューバーから「ツール」→「オプション」を選択します。
「サーバー」タブで「プロキシサーバーを選択有効にする」のチェックをONにして、[プロキシ]をクリックしてください。
「サーバー」欄に適当な英数字を入力して[OK]で画面を閉じてください。
これ以降、MT4を起動したときには、サーバーへはアクセスされなくなり、画面の右下には「回線不通!」と表示される状態になります。
この設定変更をすることで、通常のデモトレード(注文や決済など)は一切できなくなりますのでご注意ください。
次に、「チャート」タブを開いてください。(この設定は、前の記事で既にしている場合は必要ありません。)
「ヒストリー内の最大バー数」と「チャートの最大バー数」の数値を、MT4で表示可能な最大の値「2147483647」に変更します。入力する数字は「9999999999」でもOKです。
[OK]で画面を閉じると、自動的に「2147483647」に書き換わり、保存されます。
以上で、設定変更は完了です。
今回取り込む通貨ペアの既存データを削除する
次に、MT4の既存データを削除します。MT4を終了させてください。
以下のフォルダを開いてください。
C:Program Files (x86)FXTF MT4historyFXTrade-Demo
ここから、今回はファイル名に「USDJPY」とつくファイルをすべて削除します。
これで、ヒストリカルデータを取り込む準備が整いました。それでは、データを取り込んでいきましょう!
MT4へヒストリカルデータを取り込む
MT4を起動してください。チャートは表示されず「アップデート待機中」との表示になりますが、驚かないでくださいね。サーバーに接続していないので、こうなるんです。
ヒストリカルデータをインポートする
メニューバー「ツール」→「ヒストリーセンター」を選択してください。
「Forex-cd」横の「+」をクリックし、下にスクロールさせて「USDJPY」を探します。
「USDJPY」をダブルクリック→「1分足(M1)」をダブルクリック(←結構重要です。クリックではダメです)→「インポート」の順にクリックします。
「インポート」画面が開きますので[参照]をクリックしてください。
デスクトップ上に準備した「USDJPY」フォルダの中のファイルを選択して開きます。
フォルダを開いたとき、ファイルが何も表示されないときは、右下のプルダウンから「All Files」を選択するとよいですよ。
「インポート」の画面に戻ります。
データが表示されたら、最終行までスクロールさせて、2005年1月10日からのデータが取り込めたことを確認してみてくださいね。その後、[OK]で画面を閉じてください。
うまく行かないときの確認項目:
ここで、しばらく待っても画面下に日付も価格も表示されないときは、2つ前の手順で「1分足(M1)」を選ぶとき、ダブりクリックしなかったことが考えられます。画面は[キャンセル]で閉じて、やり直してみてください。
こちらの画面にもデータが反映されましたね。[閉じる]で画面を閉じてください。
チャートを表示させてみましょう。「オフラインチャート」を使います。
メニューバー「ファイル」→「オフラインチャート」を選択します。
「USDJPY-cd,M1」(1分足)の行を選択して、[開く]をクリックしてください。
「USDJPY-cd,M1」(offline)」のデータが表示されました。
他の時間足のチャートを表示させるには
1分足以外の時間足のチャートを作成するには、無料で公開されているスクリプトを使うと簡単、便利です。
このサイトよりダウンロードできます。
「period_converter_ALL.mq4」をクリックしてください。
「名前をつけて保存」を選択します。
保存先はMT4のスクリプト格納用フォルダにしてください。
C:Program Files (x86)FXTF MT4MQL4scripts
スクリプトをMT4に反映させるために、MT4を終了させ、もう一度起動させてください。
次に、ツールバーの「ナビゲーター」ボタンを押し、「ナビゲーター」画面の「スクリプト」→「period_converter_ALL」をダブルクリックしてください。
うまく行かないときの確認項目:
もし「period_converter_ALL」が表示されていない場合は、MT4の再起動をしていないということです。必ず再起動してくださいね。
ダブルクリックして実行後、数十秒から数分かかりますが、すべての時間足のデータが自動で作成されます。
マシンによっては「応答なし」になって、PCがフリーズしたようになることがありますが、強制終了させたりせず、そのまま待っていてくださいね。
応答なしの状態から復帰したら、MT4にデータを正しく反映させるために、もう一度MT4を終了させて再度起動してください。
メニューバー「ファイル」→「オフラインチャート」を選択してデータが作成されたか確認します。
古い日付のデータが反映されたUSDJPYの全ての時間足のデータが作成されました!
このまま開きたい時間足のチャートをクリックして開いてもOKですよ。
以上でヒストリカルデータの環境設定は完了です。
「ストラテジーテスター」を利用する事で、思う存分バックテストを行うことができますよ!