ヒストリカルデータの信頼性を上げるには?という記事で、GMOクリック証券のヒストリカルデータを使用する方法を紹介しました。
今回は具体的に、GMOクリック証券からダウンロードしたヒストリカルデータをMT4用のヒストリカルデータに変換する方法を解説したいと思います。
※2016年3月5日追記
※2016年2月8日より新FXネオというサービスが開始されたことにより、GMOクリック証券ヒストリカルデータに関して若干の変更点があるため、「GMOクリック証券のヒストリカルデータ(補足)」とあわせて当記事をお読みください。
GMOクリック証券からヒストリカルデータをダウンロード
まずは、GMOクリック証券のホームページからヒストリカルデータをダウンロードしましょう。
ヒストリカルデータのダウンロードは、GMOクリック証券に口座開設をしていないと利用できないので、まだ口座開設していない人は、GMOクリック証券 FXネオへの口座開設を済ませておきましょう。
まず、GMOクリック証券にログインしてください。
ログインすると、マイページが表示されていると思います。
マイページ内の上部メニューの「ツール」をクリックします。
左カラムの各種サービスメニュー内にある、「ヒストリカルデータ」をクリックします。
この画面でヒストリカルデータをダウンロードします。
右上の、プルダウンメニューで2007年からの年度を選択することができ、データは、通貨ペア毎、月毎にダウンロードする形となっています。
ただ、いちいち一つずつダウンロードするの面倒ですよね。
そこで、効率よくデータをダウンロードするため、ダウンロード支援ツールを使っちゃいましょう。
以下で紹介する方法は、WEBブラウザの「Firefox」を利用します。
Firefoxを使用していない方は、Firefoxを新たにインストールするか、自分でダウンロードしやすい方法を見つけてください。
ダウンロードには「DownThemAll」というFirefoxのアドオンを使用します。
DownThemAllのインストール方法
Firefoxを起動し、ツールメニューより「アドオン」をクリックします。
アドオンタブが新たに立ち上がり、アドオン入手画面が表示されていると尾見ます。
右上の検索ボックスに「DownThemAll」と入力してエンターキーを押してください。
利用可能なアドオンとして「DownThemAll!」が見つかると思います。
右側の「インストール」ボタンをクリックしてください。
赤枠の「今すぐ再起動する」をクリックしてFireFoxを再起動します。
これで、DownThemAll!のインストールは完了です。
DownThemAllを使ってヒストリカルデータを一括ダウンロード
FireFoxでGMOクリック証券のヒストリカルデータダウンロード画面を表示させます。
画面内を右クリックして表示されるメニューの中の「DownThemAll!」をクリックします。
DownThemAllが起動し、リンクタブにダウンロード可能なファイルがずらっと表示されます。
「ファイルの保存先」にファイルをダウンロードさせるフォルダを選択します。
「フィルター」の所に「全てのファイル」がチェックされていることを確認し、「後でダウンロード」ボタンをクリックします。
するとダウンロード保留中のリストが表示されます。
ウィンドウタイトルの左に「ダウンロードした数/ダウンロード予定のファイル数」が表示されています。
0/154なので、まだ1つもダウンロードはされていません。
この画面は置いといて、再度GMOクリック証券のヒストリカルデータダウンロード画面に戻ります。
右上の年度を変更してから、画面内を右クリックし、「DownThemAll」をクリックします。
1回目と同じように、「後でダウンロード」ボタンをクリック
0/322とダウンロード予定のファイル数が増えましたね。
この一連の作業を残りの全ての年度分繰り返し行ってください。
全ての年度分の作業が終わったら、リストの一番上のデータを右クリックします。
メニューが表示されるので「すべて選択」をクリックします。
全てのデータが選択状態になったのを確認したら、上部にある赤枠で囲んだ「再開」ボタンをクリックします。
すると、データのダウンロードが始まります。
ファイルの数がかなり多いのでダウンロードに少し時間がかかりますが、コーヒーでも飲んで待っていましょう。
全てのダウンロードが完了すれば音で教えてくれます。
ダウンロードが完了したら、右上の×印でDownThemAll!を閉じます。
以上で、GMOクリック証券のヒストリカルデータのダウンロードは完了です。
ダウンロードしたヒストリカルデータを解凍
GMOクリック証券からダウンロードしたヒストリカルデータはzipファイルに圧縮されているので解凍作業が必要です。
まず、1つのフォルダに全てのファイルがダウンロードされているため、通貨別にダウンロードファイルを仕分けしましょう。
例としてUSDJPYのヒストリカルデータの解凍を説明します。
USDJPYフォルダ開いて、USDJPYのダウンロードファイルを表示します。
解凍ソフトを用いて全てのzipファイルを解凍します。
ここでは、「USDJPY」フォルダの中に「history」フォルダを作ってその中に全てを展開しました。
解凍すると、月毎にフォルダが作成されます。
月毎のフォルダには、1日毎のcsvファイルが格納されています。
ヒストリカルデータファイルの結合と整形
GMOヒストリカルデータをMT4にインポート可能な形に変換していきます。
ここでは、例としてドル円のヒストリカルデータの変換を行います。
実は、GMOクリック証券のヒストリカルデータは期間によって以下のように仕様が異なっています。
GMOクリック証券ヒストリカルデータのフォーマット
- 2014年6月20日6時59分以前のデータ:日時,始値,高値,安値,終値
- 2014年6月20日7時以降のデータ:日時,始値(BID),高値(BID),安値(BID),終値(BID),高値(ASK),安値(ASK)
仕様ぐらい統一しといてくださいよGMOクリック証券!
仕様が2つあるので、普通ならそれぞれの期間毎に整形・結合作業を行うことになると思います。
でも、2度手間で面倒ですよね。
なんとか、一度でうまく変換できる方法がないかいろいろ調べまくった結果、ありました。
「AOK FIle Connector」というフリーソフトが全て解決してくれました。
「AOK FIle Connector」を使用すれば、1つの通貨ペアの全ヒストリカルファイルの結合と整形を1回の作業で完結できます。
仕様が2つあろうがおちゃのこさいさい、まさに神ツールでした。
まずは、AOK FIle ConnectorをダウンロードしてPCにインストールしてください。
インストールといっても、インストーラーは付属しておらず、zipファイルを解凍するだけすぐに使用できます。
「AOK FIle Connector」を起動する前に、前もって文字列置換のための設定ファイルを作成します。
設定ファイルには、文字列の置換方法を正規表現を使って記述します。
正規表現を使ったことがない人はちんぷんかんぷんだと思いますので、何も考えず以下の内容をコピーしてテキストファイルを作成し、適当な名前で保存してください。
※2016年3月16日追記
新FXネオ用に正規表現の記述を追加しました。新FXネオの場合日時のデータは変換しなくても取り込めるようなので特に変換していません。
大丈夫だと思いますが、万が一うまく変換できない、MT4に取り込めないなどありましたら教えてください。
s/日時,始値\(BID\),高値\(BID\),安値\(BID\),終値\(BID\),始値\(ASK\),高値\(ASK\),安値\(ASK\),終値\(ASK\)\n//kg
s/日時,始値\(BID\),高値\(BID\),安値\(BID\),終値\(BID\),高値\(ASK\),安値\(ASK\)\n//kg
s/日時,始値,高値,安値,終値\n//kg
s/([0-9]+,[0-9]+.[0-9]+,[0-9]+.[0-9]+,[0-9]+.[0-9]+,[0-9]+.[0-9]+)(.*)/$1/kg
s/([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9])([0-9][0-9])([0-9][0-9])([0-9][0-9])/$1\.$2\.$3,$4:$5/kg
ここでは、「GmoHistoryConvert.txt」として保存したこととします。
次に、「AOK FIle Connector」起動させます。
最初に、ファイルリストを読み込ませます。
エクスプローラーを起動し、解凍したドル円の全ヒストリカルデータが保存されているフォルダ(ここではhistoryフォルダ)を表示しておきます。
エクスプローラーから「history」フォルダを「AOK FIle Connector」の結合元ファイルリストの所にドラッグアンドドロップします。
すると、ドル円のヒストリカルデータがすべて結合先ファイルリストに読み込まれます。
次に、オプション項目を設定します。
ファイル形式:テキスト形式
改行コード変換:LF(Unix)
日本語文字コード変換:シフトJIS
文字列置換:「正規表現で置換」を選択。右のボタンをクリックし、最初に作った「GmoHistoryConvert.txt」を選択。
セパレータ文字列の挿入:しない
以上、設定が完了したら「結合」ボタンをクリックします。
「名前をつけて保存」ダイアログが表示されるので、保存先フォルダの指定及び保存ファイル名を入力し、「保存」ボタンをクリックします。
結合処理が開始されるので、しばらく待ってください。
プログレスバーが右端まで行けば処理は完了です。
私のPCの場合、30秒ぐらいで処理は完了しました。
以上で、GMOクリック証券のヒストリカルデータの変換作業は完了です。
変換したヒストリカルデータをMT4へインポート
変換したGMOクリック証券のヒストリカルデータをさっそくMT4へインポートしてみましょう。
MT4を起動し、メニューバーの「ツール」から「ヒストリーセンター」をクリックします。
左の通貨ペアからUSDJPYの1分足をダブルクリックします。
もし右側にデータが存在している場合はすべてのデータを選択して「削除」ボタンを押してください。
「インポートボタン」をクリックします。
インポート画面が表示されるので、「参照」ボタンをクリックします。
MT4用に変換したGMOクリック証券のヒストリカルデータを選択し、「開く」ボタンをクリックします。
ファイルを選択する際、ファイル名の横のリストボックスで「ASCII Text」を選択しておくと、csvファイルが見つけやすくなります。
GMOクリック証券のヒストリカルデータの時間軸はGMT+9なので、GMT+2のデータとして扱いたい場合は表示移動のところで「-7」時間に設定します。
この辺はご自身のEA等の仕様に合わせて調整してください。
GMOクリック証券のヒストリカルデータには出来高のデータが含まれていないのですが、ファイルを読み込むと出来高が自動で入力されています。
このへんの仕組みは私もよくわかっていません。
最後に「OK」ボタンをクリックしてインポートします。
ずらっとデータが表示されたら、インポート成功です。
「閉じる」ボタンを押してヒストリーセンターを閉じます。
あとは、「MT4ヒストリカルデータの作り方」の「全ての時間足のヒストリカルデータの作成」を参考にして、残りのタイムフレームのヒストリカルデータを作成してください。
GMOクリック証券ヒストリカルデータの仕様まとめ
最後に、GMOクリック証券のヒストリカルデータの仕様をまとめておきます。
■提供通貨ペア:14通貨ペア
米ドル/円,ユーロ/円,ポンド/円,豪ドル/円,NZドル/円,カナダドル/円,スイスフラン/円,南アフリカランド/円,ユーロ/米ドル,ポンド,米ドル,豪ドル/米ドル,ユーロ/スイスフラン,ポンド/スイスフラン,米ドル/スイスフラン
■時間軸
GMT+9
■取引時間
米国夏時間:月曜午前7:00~土曜午前6:00
米国冬時間:月曜午前7:00~土曜午前7:00
コメント
はじめまして。
川蝉さんと同じく、私もFXDDのヒストリカルデータが抜け落ちていることに気づいて、調べていたらこのサイトにたどり着きました。
ちなみにAUDUSDでもUSDJPYと同じ部分が欠落していたので、おそらくすべての通貨ペアで欠落があると思います。
ですが、川蝉さんのおかげでFXDDのデータは使わなくて済みそうです。
AOK FIle Connectorも神ツールでしたが、正規表現がさっぱり分からない私にはこの記事も神記事でした。
有益な情報をありがとうございました!
りゅうさんへ
コメントありがとうございます。
記事がお役に立てたようで何よりです。
今後も有益な情報を提供できるようがんばりますので応援頂けますと幸いです。
川蝉さん、はじめまして。
有益な情報ありがとうございます。
記事の内容に従って2007年分から2016年分まで一括ダウンロードを行っていたところ、「同じ名前のファイルが既にあります」という警告が何度も上がり(表示されるファイル名は少しづつ違っています)、ダウンロードが途中で停止してしまいました。
この事に関して何か情報をお持ちでしたらご教示頂けないでしょうか?
どうぞ、宜しくお願い致します。m(_ _)m
トムさんへ
コメントありがとうございます。
問題の件ですが、新FXネオのサービスが開始されたことをうけて、旧FXネオと新FXネオのデータの両方を同一ページからダウンロードできるようなった弊害だと思われます。
新FXネオのドル円2016年1月のデータと旧FXネオのドル円2016年1月のデータをそれぞれダウンロードしてみるとわかりますが両方同じファイル名になっています。
そのため、新FXネオと旧FXネオのデータを全て同時にダウンロードしようとすると「同じ名前のファイルが既にあります」となってしまいます。
解決方法としては、旧FXネオと新FXネオのデータを両方同時にダウンロードしないことです。
どうやって判断するかというと、ダウンロード元のURLのパラメーターで判断します。
DownThemAllのダウンロード欄にはダウンロード元のURLがずらっと表示されていると思いますが、そのURL内のパラメーターにc=XX(XXは数字)の箇所があると思います。
このc=XXの部分ですが、旧FXネオの場合は01~14までの数字が、新FXネオの場合は21~41までの数字が割り当てられています。
そのため、旧FXネオのデータをダウンロードする場合は、DownThemAllで表示されたアイテムからc=21~41までのアイテムを「Shiftキー」を押しながら全て選択し、選択したアイテム上でマウスを右クリックして表示されるメニューから「ダウンロードの解除」を選択してダウンロード対象からはずしてから「開始」ボタンを押すようにしてください。
同様に、新FXネオのデータをダウンロードする場合は、c=01~14までのアイテムを除外してダウンロードするようにします。
問題が起きるのは新FXネオのデータが用意されている2016年度分だけだと思いますので、2015年度分までのデータを一度全部ダウンロードしてから2016年度分をダウンロードするようにしたほうがわかりやすいかもしれません。
もし上記の手順で何か問題がありましたら教えてください。
川蝉さん
初めまして
historyデータをAOK FIle Connectorソフトで結合して
MT4にインポートしたのですが全く表示されません
何が原因なのでしょうか?
このブログを見ながら進めたのでやり方は間違ってないと思うのですが(T_T)
まるぽん様
「全く表示されません」というのが何をさしているのかよくわからないので、こちらとしてはなんとも言えません。
まず、下記ページの記事で掲載しているバックテスト用MT4環境の構築はされていますでしょうか?
https://www.autotrading-fx.com/mt4-tips/420.html
されてないのであれば、まずそちらから行ってください。
どこに何が表示されないのか具体的な情報を頂けますと、こちらとしても糸口がつかめると思います。
もう少し詳細な情報をいただけないでしょうか?
川蝉さん こんにちは!
突然申し訳ありません。 私パソコンの知識は皆無に等しいのですが、このサイトに沿ってgmoさんからヒストリカルデータを入手し、aok file connectorで結合しようとしました。
しかし正規表現で置換で例のコード?をコピーしたテキストファイルを選択したのですが、do not start ‘s’ or ‘tr’ ごにょごにょ(コピーテキスト)というエラーメッセージが出て置換テーブルを通すことが出来ません。
自分なりにネットで調べたのですがそれらしき情報が全く見つかりませんでした。
何か分かることはありませんでしょうか?
よろしくお願いします。
ONさんへ
以前変換がうまくいかないと問い合わせされてきた方のケースですが、
正規表現ファイルを作成した際に、先頭に空白が入り込んでいたためエラーとなっていたことがありました。
正規表現一行一行の先頭に空白が入ってしまっていないか確認してください。
また、下記通貨ペアの変換時において、エラーが発生してしまうケースを確認しています。
・ZARJPY
・EURUSD
・GBPUSD
・AUDUSD
・USDCHF
・EURCHF
・GBPCHF
上記通貨ペアの場合、GMOヒストリカルデータの2007年1月25日までのデータについて
ファイルが存在するにもかかわらず、ファイルの中に為替データが存在しないためにエラーが出てしまいます。
そのため、上記通貨ペアに関しては、2007年1月25日までのGMOのデータファイルを変換対象に含
めないようにしてください。
川蝉さん
エラーメッセージの件ですが、川蝉さんに教えていただいた通り、先頭に空白が入ってしまっており、これを消して再度試してみたところ無事結合することが出来ました!
本当にありがとうございます!
こんなシンプルなことで解決するものなのですね!
補足情報の方もありがとうございます。それらの通貨ペアもこれから変換すると思いますので助かります!
有益な情報をたくさん提供していただいて非常にありがたい限りでごさいますm(_ _)m
ONさんへ
無事解決できてよかったです。
今後とも当サイトをよろしくお願いいたします。
川蝉さん、始めまして。
このサイトを拝見させて頂いて、
GMOのヒストリカルデータをAOK FIle Connectorで結合しようとしたのですが、
ONさんと同じエラーメッセージ(?)が出てしまい、確認するとコードに空白が出来ていたので、やり直したいのですが、
エラーメッセージに対してOKボタンや×ボタンをクリックしても同じエラーメッセージが出てきて消えてくれなくて、どうしたら良いのか分からず…という状態です。
ネットで対処方を自分なりに検索してみたのですが、分からず…
PCに対しての知識が無いので恥ずかしながら質問させて頂きましたm(__)m
宜しくお願いします。
紫さんへ
返事が遅くなり申し訳ありません。
エラーメッセージ自体はエンターキーを押しっぱなしにしていればそのうち消えると思いますが
面倒なら、ウィンドウズのタスクマネージャー(Ctrl+Alt+Del)からAOK File Connectorを強制終了させてください。
その後再起動してやり直してください。
返信ありがとうございますm(__)m
再起動しやりなおして、結合出来たのですが、ファイルがExcelではなく、真っ白なマークでWordとかでないと開けないみたいで…何が間違ってこうなるのか分からず
お時間ある時で構わないので、返信よろしくお願いしますm(__)m
川蝉さん、始めまして。
このサイトを拝見させて頂いて、
GMOのUSDJPYのヒストリカルデータをAOK FIle Connectorで結合させたのですが、
最小単位が小数点2位になってしまい使えませんでした。(111.11のような感じです。)
3位まで表示するにはどうすればよいのでしょうか。
データを見たところ2009.9月まで二桁で以降は三桁なので、10月以降だけでためしましたがだめでした。
よろしくお願いいたします。
たけさんへ
GMOクリック証券のヒストリカルデータは2009年09月05までは2桁データしかありません。
その当時は2桁表示がシステムの仕様でしたので。
なのでこちらではどうすることもできません。
10月以降だけで試しましたがというのがよくわかりませんが、3桁データのみ使いたいのであれば2009年09月07日以降のデータのみ利用すればいいと思います。
ご返信ありがとう御座います。
言葉足らずで伝わらなかったようで申し訳ないですが、その2009年09月07日以降のデータが二桁表示でmt4に表示されてしまうという不具合が起きているという話です。
結合した結果のCSVデータの段階で三桁目が削れてしまうという現象がおきています。
二度手間で申し訳ないのですが、ご返信いただけると嬉しいです。
連続して申し訳ございません。
改めてデータを作り直したうえで別のMT4に入れたところぶじ三桁表示になりました!
お騒がせして申し訳ありません。
このサイトは有意義な情報がありいつも参考にさせていただいてます。
これからもよろしくお願いしますm(_ _)m
川蝉さん、始めまして。
このサイトを拝見させて頂いて、
GMOのUSDJPYのヒストリカルデータをAOK FIle Connectorで結合させたのですが、GmoHistoryConvert.txtによる置換及び結合のした際に、どうしても「日時、始値、高値、安値」等の文字が残ってしまいます。
おそらくこれが残るせいでMT4にインポートできないのですが、テキストデータの内容がまちがっているのでしょうか。
よろしくお願いいたします。
bossさんへ
返答が遅くなり申し訳ありません。
USDJPYのデータを結合したとのことですが、具体的にはどの年月のデータを結合されたのでしょうか?
ヒストリカルデータには、旧FXネオ、新FXネオ(ノーマル、EX)等いろいろな種別がありますので
詳細を教えて頂かないとこちらとしても確認できません。
もし、まだうまくいかなくて困っているのであれば出来るだけ詳しく状況を教えて頂けますようお願いいたします。
川蝉様
はじめまして。
2016年4月14日のまるぽん様の「MT4にインポートしたのですが全く表示されません」と同じ症状が起こり、なぜか解決出来たので、今後似たような問題を抱えた方が現れるかもしれないので、情報を残しておきます。
まず、具体的な状態としては、ヒストリーセンターでインポートをクリックし、参照をクリック、csvを選択しても、時間、始値、高値、安値、終値、出来高の欄に何も表示されない状況です。
OKをクリックしても、もちろん何も表示されませんし、エラー表示や操作履歴にエラーや警告もありません。
次に1~2ヶ月分ぐらいの小さなサンプルファイルを作って試してみます(この時、Excelに正しくデータが格納されている事も確認します)。しかし、同じく何も表示されない時もあれば、又はこのサンプルファイルでは上手く表示される場合があります。
試してみて解決出来た方法1
上記1~2ヶ月分のサンプルファイルが表示される場合、一旦、その状態から13年分(2007年~2020年)のデータを選択すると読み込む場合があります。
試してみて解決出来た方法2
上記1を試してもダメな場合、エクスポートボタンをクリックし、該当ペアのデータのエクスポートボタンをクリックし、再度インポートボタンをクリックして、サンプルファイルや読み込ませたい13年分のデータを選択すると読み込む場合があります。
試してみて解決出来た方法3
上記1でも2でもダメな場合、読み込ませたい13年分のデータを選択し、何も表示されない状態でOKをクリックし、ヒストリカルセンターを閉じます。そしてメタトレーダーを再起動し、ヒストリカルセンターを立ち上げ、インポートボタンをクリックすると、該当データを読み込む場合があります。
どんな方法でも一度読み込んでしまえば問題はありませんが、なぜこのような症状が出るのか、原因理由はよく分かりません。
読み込んでくれれば数秒で2007年~2020年分のデータが、表示されるのですが、読み込んでくれないと何分待とうと何も表示されない状態でした。
MQL5のForumでも、ファイル形式は違えど、historical data not showingやdoesn’t load file等で、似たような問題は多数見ましたが、(ファイル自体が問題である等、明確な理由を除いては)これが原因っぽいというのまでは発見出来ませんでした。