シェアする

MT4でヒストリカルデータを作成・取得する方法!昔のデータを引っ張る!

今回はヒストリカルデータを作成して、MT4に取り込む方法について書いていきます。

前回の記事では、MT4でバックテストを実行するやり方と方法に触れましたが、更にテスト環境を整える方法です。

ヒストリカルデータとは?

過去の値動きのデータのことです。
カスタマイズをしていないMT4で見ているチャートにもある程度過去データは入っていますが、例えば1分足や5分足のデータは、あまり遡ってまでは、ありません。
自動売買プログラム(EA)の検証をするためには、長い期間でのテストができたほうがよいため、「ヒストリカルデータ」をダウンロードして利用するとよいのです。

データは、どこで入手できるの?

今回の連載で利用しているMT4はFXTF提供のものですが、FXTFでリアル口座を開設すると、会員専用の「マイページ」から、FXTF提供のヒストリカルデータをCSVでダウンロードすることができます。

fx10_4616-1

FXTFのリアル口座を開設しない場合は、ここではなく別のFX業者「FXDD」からの提供データを利用できます。
今回は、持っていない方も考慮して、FXDDのデータを利用する方法を解説していきますね。
ちなみに、FXTFのデータを利用する際にも、ダウンロード元のサイトが違うだけで、基本的な操作方法は同じと考えてよいです。

ヒストリカルデータをダウンロードする

こちらのサイトにアクセスしてください。FXDD提供のヒストリカルデータダウンロードサイトです。

http://www.fxdd.com/bm/jp/forex-resources/forex-trading-tools/metatrader-1-minute-data/

fx10_4616-2

通貨ペアの一覧がそれぞれリンクになっていますね。…はい、そうです。地道な手作業になります。
ほしい通貨ペアの数だけ、ここからのダウンロードの操作を繰り返すことになります。

例としてここでは、「USD/JPY」をダウンロードしてみましょう。
「USD/JPY」をクリックしてください。次の画面では「名前を付けて保存」を選びます。

fx10_4616-3

データは圧縮された状態であるため、このままMT4のフォルダに保存してもすぐには使えません。このあと「展開」の操作をしますので、とりあえず分かりやすいように、デスクトップ上にでも保存しておいてください。

fx10_4616-4

引き続き、展開の操作をします。「フォルダーを開く」をクリックしてください。

fx10_4616-5

ファイルの上で右クリックして「すべて展開」を選んでください。

fx10_4616-6

展開先は、そのままデスクトップ上でよいです。[展開]をクリックしてください。

fx10_4616-7

これで、「USD/JPY」のヒストリカルデータの準備ができました。

fx10_4616-8

次にMT4で、データを取り込む前の準備をします。

MT4の事前準備・設定方法

MT4を開くといつも、自動的に口座にログインされてサーバーに接続され、最新の価格データが配信されてチャートが動き出しますよね。
ヒストリカルデータとは別のデータが入っている状態です。
ヒストリカルデータを取り込むにあたり、「常に最新の価格データが配信される」状態をいったん止める必要があります。
それでは、MT4を開いてサーバーへの接続設定を変更しましょう!

サーバーへの接続設定変更

メニューバーから「ツール」→「オプション」を選択します。

fx10_4616-9

「サーバー」タブで「プロキシサーバーを選択有効にする」のチェックをONにして、[プロキシ]をクリックしてください。

fx10_4616-10

「サーバー」欄に適当な英数字を入力して[OK]で画面を閉じてください。

fx10_4616-11

これ以降、MT4を起動したときには、サーバーへはアクセスされなくなり、画面の右下には「回線不通!」と表示される状態になります。
この設定変更をすることで、通常のデモトレード(注文や決済など)は一切できなくなりますのでご注意ください。

次に、「チャート」タブを開いてください。(この設定は、前の記事で既にしている場合は必要ありません。)
「ヒストリー内の最大バー数」と「チャートの最大バー数」の数値を、MT4で表示可能な最大の値「2147483647」に変更します。入力する数字は「9999999999」でもOKです。
[OK]で画面を閉じると、自動的に「2147483647」に書き換わり、保存されます。

fx10_4616-12

以上で、設定変更は完了です。

今回取り込む通貨ペアの既存データを削除する

次に、MT4の既存データを削除します。MT4を終了させてください。
以下のフォルダを開いてください。
C:\Program Files (x86)\FXTF MT4\history\FXTrade-Demo
ここから、今回はファイル名に「USDJPY」とつくファイルをすべて削除します。

fx10_4616-13

これで、ヒストリカルデータを取り込む準備が整いました。それでは、データを取り込んでいきましょう!

MT4へヒストリカルデータを取り込む

MT4を起動してください。チャートは表示されず「アップデート待機中」との表示になりますが、驚かないでくださいね。サーバーに接続していないので、こうなるんです。

ヒストリカルデータをインポートする

メニューバー「ツール」→「ヒストリーセンター」を選択してください。

fx10_4616-14

「Forex-cd」横の「+」をクリックし、下にスクロールさせて「USDJPY」を探します。

fx10_4616-15

「USDJPY」をダブルクリック→「1分足(M1)」をダブルクリック(←結構重要です。クリックではダメです)→「インポート」の順にクリックします。

fx10_4616-16

「インポート」画面が開きますので[参照]をクリックしてください。

fx10_4616-17

デスクトップ上に準備した「USDJPY」フォルダの中のファイルを選択して開きます。
フォルダを開いたとき、ファイルが何も表示されないときは、右下のプルダウンから「All Files」を選択するとよいですよ。

fx10_4616-18

「インポート」の画面に戻ります。
データが表示されたら、最終行までスクロールさせて、2005年1月10日からのデータが取り込めたことを確認してみてくださいね。その後、[OK]で画面を閉じてください。
うまく行かないときの確認項目:
ここで、しばらく待っても画面下に日付も価格も表示されないときは、2つ前の手順で「1分足(M1)」を選ぶとき、ダブりクリックしなかったことが考えられます。画面は[キャンセル]で閉じて、やり直してみてください。

fx10_4616-19

こちらの画面にもデータが反映されましたね。[閉じる]で画面を閉じてください。

fx10_4616-20

チャートを表示させてみましょう。「オフラインチャート」を使います。
メニューバー「ファイル」→「オフラインチャート」を選択します。

fx10_4616-21

「USDJPY-cd,M1」(1分足)の行を選択して、[開く]をクリックしてください。

fx10_4616-22

「USDJPY-cd,M1」(offline)」のデータが表示されました。

fx10_4616-23

他の時間足のチャートを表示させるには

1分足以外の時間足のチャートを作成するには、無料で公開されているスクリプトを使うと簡単、便利です。
このサイトよりダウンロードできます。

https://www.mql5.com/ru/code/11201

「period_converter_ALL.mq4」をクリックしてください。

fx10_4616-24

「名前をつけて保存」を選択します。

fx10_4616-25

保存先はMT4のスクリプト格納用フォルダにしてください。
C:\Program Files (x86)\FXTF MT4\MQL4\scripts
fx10_4616-26

スクリプトをMT4に反映させるために、MT4を終了させ、もう一度起動させてください。

次に、ツールバーの「ナビゲーター」ボタンを押し、「ナビゲーター」画面の「スクリプト」→「period_converter_ALL」をダブルクリックしてください。
うまく行かないときの確認項目:
もし「period_converter_ALL」が表示されていない場合は、MT4の再起動をしていないということです。必ず再起動してくださいね。

fx10_4616-27

ダブルクリックして実行後、数十秒から数分かかりますが、すべての時間足のデータが自動で作成されます。
マシンによっては「応答なし」になって、PCがフリーズしたようになることがありますが、強制終了させたりせず、そのまま待っていてくださいね。
応答なしの状態から復帰したら、MT4にデータを正しく反映させるために、もう一度MT4を終了させて再度起動してください。

メニューバー「ファイル」→「オフラインチャート」を選択してデータが作成されたか確認します。

fx10_4616-28

古い日付のデータが反映されたUSDJPYの全ての時間足のデータが作成されました!
このまま開きたい時間足のチャートをクリックして開いてもOKですよ。

fx10_4616-29

以上でヒストリカルデータの環境設定は完了です。
「ストラテジーテスター」を利用する事で、思う存分バックテストを行うことができますよ!

MT4のバックテストのやり方と方法。備忘録としてまとめてみた!
MT4で「バックテスト」をするやり方とその手順・流れを説明していきたいと思います。 以前何かで見た方法では上手く出来なかったんだよな~とい...