MT4のヒストリカルデータとは?
ヒストリカルデータとは、MT4のチャートなどで使われる過去の値動きのデータです。一部のFX業者から無料で提供されていたり、有料のヒストリカルデータなども専門業者から販売されています
ヒストリカルデータには始値、終値、高値、安値の4つの過去のデータがはいっており、FX業者によってはここに出来高などを内包して配布しているところもあります。
FXの世界では各業者が毎日積み重ねてデータを作成していきますが、価格は業者によって違いがあります。
なぜヒストリカルデータがFX会社ごとに違うのか?
ヒストリカルデータがFX業者ごとに異なるのは、FX業者が価格を参照している大元のLP(リクイディティプロバイダー)がFX業者によって違うからです。
FX業者は契約しているLPがたくさんあればあるほど、その中から一番有利な価格を採用してお客さんに掲示することができるので価格が安定します。
しかしLP側はFX業者の信頼性や規模を見て契約するかどうかを決めますので、信用の低いFX業者はLPとたくさん契約してもらえないために価格が跳んだりします。
なので、大手のFX業者が配布するヒストリカルデータのほうが値段が跳んでいない場合が多く、正しいバックテストの結果が得られます。
リクイディティプロバイダーの多くは銀行です。日本でも有名なところですとサクソバンクなどがあります。
MetaQuotes社のヒストリカルデータは精度が悪い
MT4の【ツール】から【ヒストリーセンター】を選びます
お好きな通貨を選んで(これはドル円)、利用したい足を選んでダウンロードボタンを押せばすぐにヒストリカルデータを利用できます。
しかしMetaQuotes社のヒストリカルデータはローソクが抜けていたり、ある時期がすっぽり抜けていたり、4本値(高値・安値・始値・終値)の数値もブレ幅が大きいです。
バックテストをしても、MetaQuotes社のデータの場合他社に比べて勝率が1~2%ブレることもザラにあります。
ですので、MT4で正確なバックテストのデータを取りたい場合は、他のFX業者さんからヒストリカルデータを引っ張ってくる場合がほとんどです。
ヒストリカルデータがダウロードできるFX業者
ヒストリカルデータをダウンロードできる業者はたくさんあります。
お手軽なのが口座登録の必要がないFXDDさんのデータや、データが持ってきやすいFXTFさんもMetaQuotes社のものよりも精度が高いので人気ですが、日曜日なのにデータが入っていたりする事がありましたので、FX-EAラボでは推奨しておりません。
一応今回は、口座登録が必要なのが面倒くさいのですが、元々ヒストリカルデータ屋であり、データの精度が高いと評判のデューカスコピージャパンのヒストリカルデータを利用する方法を後ほど紹介していきます。
デューカスコピーはFX会社だけでなく、大元がLPとしての営業も行っております。日本では知名度が低いですが、世界では超大手です。もちろん信頼性も抜群です。
FX各業者のヒストリカルデータの特徴
MetaQuotes社
とても簡単に入手できますが、残念ながらローソクの抜けが多く、信頼性に乏しいです。バックテストと実際のトレードの結果も大きく変わります
デューカスコピー
使うためにはひと手間必要なのですが、他のヒストリカルデータに比べてデータの抜けがないです。さすが大元がLP。しかしダウンロードデータは重く、使っている方も意外と少ない模様。
FXDD
こちらは口座を作る必要ナシで入手がしやすい代わりに一部MetaQuotes社のデータを流用していますので残念ながらデータの抜けている部分が多いです。しかしなぜかここを推している方が多い印象です。
FXCM
こちらは200万円以上の残高がある口座が必要で、専用のツールも使うので導入の敷居が少し高いです。今は楽天証券と経営統合してますが、サポートに連絡すればダウロードURLが教えてもらえます。
Alpari Japan
デモ口座解説でダウンロードできます。こちらもデータの抜けは少なく、利用しても問題ないです。
Tick Data Suite
初期費用約1万円の、月額約1000円かかりますが、通常MT4のヒストリカルデータは疑似ティックなのですが、TDSを使えば実際のティックデータでバックテストを行えますので、1分足以下のバックテストではTick Data Suite一択です。
ヒストリカルデータの違いによるバックテストの比較
こちらはMetaQuotes社のヒストリカルデータ
こちらはデューカスコピージャパンのヒストリカルデータ
上級者ほどデータの精度は重視します。精度の高いヒストリカルデータの取得は勝てるトレーダーになるための最低条件です。
導入がややこしく、初級者の方はないがしろにしてしまう部分なのですが、MT4のヒストリカルデータの取り扱いはシステムトレーダーの第一歩ですので、ここを参考にして頑張って乗り越えてください。
なお、バイナリーオプションの勝率計算ですが、一般的なバックテストツールはハイローオーストラリア使用を前提に作られているので、引き分けが負けになりますが、Bi-Winningですと引き分けは払い戻しになる優しい仕様なので、正確性を求めるならヒストリカルデータと合わせて業者の仕様の確認も必要です。
デューカスコピージャパンのヒストリカルデータを使う方法
- デューカスコピージャパンの口座を作る(デモでもリアルでもどちらでもOK)
- デューカスのHPから「J-Forex」というチャートソフトをインストールする
- 「J-Forex」で1分足のヒストリカルデータ(.hstファイル)をダウンロードする
- .hstファイルの時間をUTC+0からUTC+2/+3に書き換える
- MT4にヒストリカルデータを入れる下準備をする
- MT4へ④で書き換えた1分足のヒストリカルデータをいれる
- 1分足のヒストリカルデータから上位足のデータに変換する
J-Forexから1分足のヒストリカルデータを取得する
デューカスコピージャパンの口座を作りましたら、こちらからJ-Forexをインストールします。(ダウンロード版、インストール版どちらでも可)
インストールされましたら、今回はインストール版でヒストリカルデータ取得のお話を進めますね・・
ここですべての時間足をダウンロードしてもよいのですが、それではとてつもなく時間がかかってしまうので、ここでは後ほど1分足データを使って5分や1時間足を作成する手順をご説明します。
なお、ヒストリカルデータは非常に繊細なデータでして、一見ダウンロードができているようで、データが壊れていることが非常に多いです。そのデータで検証を行うと途中で停止してしまいますので、その場合はひとまず短い期間だけ再ダウンロードをして、動作チェックをしてみましょう。
ヒストリカルデータの時刻を調整する
ヒストリカルデータには時間のデータも内包されています。
ご存知のとおり時差に関しては世界的な取り決めがありまして、有名なものですとGMT(グリニッジ標準時)やJST(日本標準時)などがありますが、デューカスコピージャパンが採用している物はUTC(協定世界時)という一般的なヒストリカルデータで採用されているGMTとは少々異なります。
日本で馴染みのある多くのFX業者はGMT+2ですが、デューカスはUTC+0を採用していますので、デューカスのヒストリカルデータをちょっといじりましてGMT+2に対応するUTC+2/3(夏時間も対応)に変換する必要があるのです。
デューカスからダウンロードしたヒストリカルデータを変換
1、タスクバーにある【エクスプローラー】をクリック
2、【エクスプローラー】の上の【表示】をクリック
3、右の【ファイル名拡張子】のボックスにチェックをいれる
時間を変換するスクリプト(プログラム)を作成する
1、サイトからコードをコピーさせていただきまして
2、デスクトップに作ったメモ帳に貼り付けます
3、その後【ファイル】→【名前をつけて保存】を選んで保存しますが、その時に【文字コード】を【ANSI】にしてデスクトップに保存してください。ファイル名はお好みのもので良いです。ここでは分かりやすく「変換」としました。
4、続いて、デスクトップにできたメモ帳の拡張子を【.txt】から【.vbs】に変更してください。
5、拡張子を【.vbs】に変えるとアイコンが水色のものに変わりますので、そこへデューカスからダウンロードしておいた1分足のヒストリカルデータを重ねます。(今回はAUDJPY)
6、するとこのように【workフォルダ】が生成されます。ぱっと見た感じなにも動いていないですが、この間にコンピューターが必死に変換しています。データによって変換時間は変わりますが、10年分だと5分~10分ほどは放置してください
7、この表示がでれば無事に変換できました。さきほど生成された【work】フォルダの中には時間が変換された.hstファイルができています。他にも変換させたいファイルがある場合はここで同じ様に作っておいてくださいね。
MT4にヒストリカルデータを入れる下準備
MT4の初期設定ではせっかくダウンロードしたデューカスコピーのヒストリカルデータがフルに使えない状態の場合が多いです。
ですので、MT4の古いデータを消したり、利用できるバーの数の設定を変更して、ヒストリカルデータを最大限に使える準備をしていきます。
MT4の古いヒストリカルデータを削除する
1、MT4をログアウトしてこのような状態にしておきます(強制でログインしてしまう人はパスワードをワザと間違えた状態にして入らないようにすると良いです)
2、MT4の左上から【ファイル】→【データフォルダを開く】→【history】→【契約している業者名のフォルダ】を選ぶと上記のように.hstファイルがたくさんでてきます。
ここではデューカスからいただいたAUDJPYファイルを入れますので、古いAUDJPYファイルは全て削除します。
続いてMT4のバーの数を増やします
1、MT4上部の【ツール】→【オプション】→【チャート】タブを選んで、ヒストリー内の最大バー数とチャートの最大バー数を999999999と設定します。(ここの最大値は2147483647ですが、999999999といれてOKを押すと2147483647に自動で変換されます)
ヒストリー内の最大バー数・・・パソコンに保存されるローソク足の数
チャートの最大バー数・・・MT4のチャート上に表示されるローソク足の数
チャートの最大バー数はバックテストの時は多めに設定しておいたほうが良いですが、裁量でチャートを動かす時にMT4の挙動が遅くなりますので、バックテストをやらない時などは3000本くらいに設定しておけば十分かと思われます。
ヒストリカルデータをMT4へインポートする
1、MT4上部から【ツール】→【ヒストリーセンター】で上の画面が開きます。さきほどAUDJPYのファイルはすべて削除したのでこの時点では真っさらです。左から【AUDJPYの1分足】を選び、右下の【インポート】を選びます
2、この画面が開きますので右上の【参照】を押してさきほど時間変換をしたAUDJPYの.hstファイルを選んで【OK】を押します。
(もし参照フォルダに.hstファイルがない場合は参照画面内に「ALL Files」もしくは「全てのファイル」の表示を選ぶ設定がありますのでチェックしてください)
3、するとこのようにズラズラっとデータが表示でてきますので【OK】をクリックします
4、こちらのヒストリーセンターにもローソク足データが表示されていれば無事にインポートできていますので【閉じる】をクリックします。
※ちなみに短い期間のデータが消されずにここへ残ったままの事がよくありますが、その際はこの画面からその期間をShiftキーなどで範囲を選んで【削除】ボタンで消すことができます。
その後、MT4を一度再起動すれば、MT4への1分足のヒストリカルデータのインポートは終了です。
1分足のヒストリカルデータを元に上位足を作成する
ここからはインポートした1分足のヒストリカルデータを使って5分足や1時間足などを作成していきます。
period converter ALL.mq4をMT4にインストールする
1、MT4上部メニューより【ファイル】→【データフォルダを開く】→【MQL4】→【scripts】フォルダを開き、そこへダウンロードした「period converter ALL.mq4」をいれてください。
2、その後、MT4左側の【ナビゲータ】内にある【スクリプト】の上で右クリックを押してフォルダを【更新】します。
3、ナビゲーターのスクリプトに 「period converter ALL」が表示されますので【1分足】のチャートを表示させて、そこへドラッグ&ドロップします。
4、左上に文字が表示されて、ものすごい勢いで計算を始めます
5、左上の表示が消えるとすべての上位足が生成されていますので【ヒストリーセンター】できちんとデータができているか確認してみましょう。無事に作成されていましたらMT4をつなげていただいて大丈夫です。
たまにMT4の業者さんによってはきちんとデータが作成されない場合があります。(15分足だけできなかったり、1ヶ月分しかつくられなかったり)その場合は、足りない対象の期間だけデューカスさんから直接ダウンロードして時間を変更してインポートしましょう。
デューカスコピーに限らない話ですが、ヒストリカルデータは意外と繊細で、見た感じはわからないですがダウンロードに失敗していることがよくあります。
実際にバックテストをおこなうと途中で止まってしまうことなどがありますが、これはヒストリカルデータが完全でないことで起こるエラーです。
その場合は再度ダウンロードをしましょう。
MT4に正確なヒストリカルデータをインポートする方法 まとめ