GMOクリック証券のFXネオ口座を開設している人は、ホームページからFXネオおよび旧FXネオのヒストリカルデータをダウンロードできますが、そのままではMT4に取り込むことができません。
当ソフトはFXネオのヒストリカルデータを読み込んでMT4の1分足ヒストリカルデータに変換します。
しかも、ダウンロードした圧縮ファイルの展開(解凍)は不要で、旧FXネオのデータも通貨ペアの種類も自動的に判断してすべてのヒストリカルデータを一括変換します。
ファイルはMT4用のトップページからダウンロードできます。
2019/03/22:追記
前バージョンでは差分追加の場合、データの日時を判断していませんでしたが、Ver2.0.0.0からは月途中のヒストリカルデータを何度でも取り込めるようになりました。詳細は「差分追記における注意点」を参照してください。
2021/12/22:追記
Ver2.1.0.0からGMTを指定できるようになりました。詳細は「使い方(オプション)」を参照してください。
補足:Ver1.1.0.0からCFDのヒストリカルデータも変換できるようにしました。
詳細は使い方(オプション)を参照してください。
注意:変換されたヒストリカルデータは「オフライン状態にしたMT4上で、EAのバックテストを行う際に使用する」ことを想定して作成されています。「オンライン状態のMT4で使用する」など、それ以外での使用は想定していません。
注意:GMOクリック証券のご利用条件にて、「ダウンロードした為替データ」の再分布は禁止されています。加工した場合も同様ですので、変換されたヒストリカルデータやそれを元に作成されたデータ等の再分布は行わないでください。「変換後のデータがほしい」という人がいたら、「GMOの口座開設のススメ&当サイト(または当ソフト)の紹介」という方向でお願いします。
1分足以外のヒストリカルデータはスクリプト「PeriodConverter.mq4」などを使って作成してください。
個人的には、nekonoteさんがブログで公開している「PeriodConverterAllEx」をダウンロード(というかコピペ)して使用することをおすすめします。これを使えば「PeriodConverter.mq4」の制約を回避できます。制約について知りたい人はネットで検索したり、nekonoteさんのブログを読んでみてください。
ダウンロードしたZIPファイルを適当なフォルダに展開(解凍)してください。
補足:ZIPファイルはMT4用のトップページからダウンロードできます。
注意:「C:\Program Files\」や「C:\Program Files (x86)\」フォルダ配下には展開しないでください。正しく動作しない可能性があります。
当ソフトを終了し、上記インストール時に作成したフォルダごと削除してください。
当ソフトはレジストリを使用していません。
注意:上記「1.」のフォルダがあるドライブですが、十分な空き容量を確保しておいてください。
処理中の一時ファイル作成(ZIPファイル展開など)にも使用していますので結構使います。
また、大量のファイルアクセスが発生しますのでアクセスが速いドライブの使用をおすすめします。
2回目以降は「差分追記」になります。(詳細は「差分追記について」を参照)
そのため、2回目以降は追加したいヒストリカルデータのみを使用して変換処理を行います。
補足:「2回目以降の場合」とは、「すでに存在するMT4用のヒストリカルデータに対して差分(例えば、先月と先々月の2ヶ月分だけ等)のGMOヒストリカルデータを追加する」場合のことです。
なので、「もう一度最初から作り直したい」場合は「初回の場合」の手順に従ってください。
注意:「Esc」キーを押して途中でやめた場合、「HstFile」フォルダにあるMT4用のヒストリカルデータは中途半端な状態になっているかもしれません。ファイルの更新日時などで判断できるかもしれませんが、よくわからないようなら「HstFile」フォルダごと削除して作り直すことをおすすめします。
バックテストが終わってテスト実施前のMT4に戻す場合は以下の操作を行ってください。
ヒストリーセンターの画面を表示したときに画面右側に表示されている「出来高」の値を増やしたい場合に指定します。
GMOのヒストリカルデータには出来高が無いので以下の計算式で算出しています。
出来高=((((高値と安値の差額)×2)-(始値と終値の差額))×1000(または100000)+0.1)+1
この算出値を2倍から9倍まで増やすことができます。
MT4でバックテストを行う場合、Tickを自動的に作成しているようですが、その際、出来高の値によって作成されるTickの数が異なるようです。EAの種類によってはTick数が影響するかもしれないのでとりあえず倍率を指定できるようにしました。
補足:計算式は実際にMT4に出来高が無いデータをインポートしたときの値を参考に導き出した(推測した)ものです。なのでこの計算式が正しいかは不明です。
注意:倍率を増やすと「tester」フォルダ内にある「history」フォルダに作成されるファイルのサイズが増え、テスト時間も倍率に比例して増えました。そこまでしてどんなメリットがあるのか不明です(笑)。倍率変更のメリットは利用者側で判断してください。
GMOのFXヒストリカルデータに含まれるExモードのヒストリカルデータは変換しないようにファイル名のチェックを行っていますが、それを行わないようにします。
チェックを行わないようにするとExモードのヒストリカルデータやCFDヒストリカルデータも変換できるようになります。
補足:このオプション追加のキッカケになった記事は掲示板(MT4専用)のGMOtoMT4_CFDでの運用を参照してください。
作成するMT4用ヒストリカルデータのファイル名(*.hst)を指定したい場合はファイル名を記述してください。
通常はZIPファイルに含まれるCSVファイル名を元にMT4用ヒストリカルデータのファイル名が自動決定されます。
例えば「USDJPY_201810.zip」に含まれる「USDJPY_20181001.csv」からは「USDJPY1.hst」が作成されます。
この「USDJPY1.hst」を別のファイル名にすることができます。ただし、USDJPY1の「1」は1分足という意味なので後ろの「1.hst」は変更できません。それより前の部分を変更します。
なので、「USDJPY_201810.zip」を使用してFXTFの1000通貨コース用の「USDJPY-cd1.hst」を作成したい場合は「USDJPY-cd」と記述します。
応用的な使い方として、CFDを扱えないMT4でCFDのチャートを表示させることも可能です。
例えば日本225の場合、以下の手順で表示させます。
・GMOから日本225のヒストリカルデータをダウンロードする
・GMOtoMT4を起動し、「ファイルチェックの無効化」にチェックを入れる
・「ファイル名(通貨ペア名)指定」に通貨ペア名(例:USDCHF)を記述する(*1)
・変換後、MT4用ヒストリカルデータ(例:USDCHF1.hst)をコピーする(必要ならPeriodConverterも行う)
・MT4を起動し、上記で指定した通貨ペアのチャートを表示する
(*1)使用しているMT4で使用できる通貨ペアの中から選択してください。普段使わない通貨ペアが良いでしょう。
補足:MT4用ヒストリカルデータのファイル内にはシンボル(USDJPY等)が記述されています。
このシンボルが使用しているMT4の通貨ペアと一致しないとヒストリカルデータは使えません。
例えばFXTFの場合、同じ米ドル/円でも1万通貨コースの場合は「USDJPY」、1000通貨コースの場合は「USDJPY-cd」というようにシンボルが異なります。よって、1万通貨コースのファイル名を変更しただけでは1000通貨コースでは使えません。
これがMT4の仕様みたいなので、このオプション機能ではファイル名に合わせてファイル内のシンボルも書き換えています。
なので『GMOは「JP225」だがMT4は「JPN225」になってる』といった場合はこのオプションを使用してください。
注意:このオプションを使用する場合は異なる通貨ペアを同時に変換(ドラッグアンドドロップ)しないでください。
CSVファイル名による自動決定が行われないので、異なる通貨ペアのデータが1つのMT4用ヒストリカルデータに含まれることになります。
2019/01/23:追記
MT4のsymbols.rawなどを参照、編集するツール「Symbols Viewer and Editer for MT4」を作成しました。
このツールを使用すると既存のヒストリカルデータ(*.hst)を元に別の通貨ペア名のヒストリカルデータを作成できます。
例えば、FXTF用に「USDJPY-cd」を作成したい場合、既存の「USDJPY」のヒストリカルデータを元に作成できます。
基本的にコピーしてから通貨ペア名を変更するだけなのでGMOのヒストリカルデータから作り直す必要はありません。
そのため作業時間が大幅に短縮できます。
このツールの「ヒストリカルデータの通貨ペア名変更」機能をぜひご検討ください。
このドキュメントを表示します。
「無し(Ver2.0.0.0以前と同じ)」を選択した場合、GMOのFXヒストリカルデータの日時をそのまま使用します。
「GMOtoMT4の独自方式」を選択した場合、夏時間の場合はGMT+3(3時間加算)、標準時間の場合はGMT+2(2時間加算)となります。
「指定した時間を加算する」を選択した場合は右側のテキストボックスに加算する時間を入力してください。
「-2」など、マイナス値の入力も可能です。数値以外を入力した場合は「無し(Ver2.0.0.0以前と同じ)」として処理されます。
GMOクリック証券からヒストリカルデータをダウンロードする手順は以下の通りです。
他の口座も開設している等、条件によっては異なるかもしれません。
MT4用のヒストリカルデータのコピー先フォルダはMT4を提供しているFX業者によって異なると思います。
とりあえず、以下の手順であれば、どのFX業者でも同様かと思われます。
補足:「ファイル名の先頭6文字がコピーしたい通貨ペアと同じもの」を削除するだけで良いです。
1つの通貨ペアでも、時間足の種類に応じて複数ファイル存在するのですべて削除します。
それ以外(特にヒストリカルデータ以外)のファイルは削除しないよう注意してください。
GMOクリック証券からダウンロードできるヒストリカルデータは通貨ペアによっては大量(10年分以上)になります。その大量なデータを毎回すべて変換することは時間的に無駄です。
最初はすべてのデータを時間かけて変換する必要がありますが、2回目以降は前回からの差分だけを追加したほうが効率が良いと思い、当ソフトは「差分追記」を行っています。
「毎回作り直したい」という場合は、フォルダをドラッグ・アンド・ドロップする前に、そのフォルダ内の「HstFile」フォルダを削除しておいてください。
2019/03/22:変更
変換処理を行う際、GMOヒストリカルデータの内容(日付など)は判断せず、単純に「読み込んだ値を変換してMT4用ヒストリカルデータの後ろに追記」しています。
よって、ドラッグ・アンド・ドロップするフォルダには今回追加するGMOヒストリカルデータ以外(前回追加したヒストリカルデータなど)は含めないでください。
他にも以下のような例では意図しないヒストリカルデータが作成されるのでご注意ください。
Ver2.0.0.0以降ではMT4用ヒストリカルデータ内に記録されている最終更新日時より新しいデータのみを追記します。
そのためドラッグ・アンド・ドロップするフォルダ内に古いGMOヒストリカルデータが存在する場合でも追記はしません。
これで例4のケースは問題なく追記できるようになりました。
例1:2017年3月から8月分のMT4用ヒストリカルデータに対して10月分だけを追加した。
→9月分が存在しない歯抜けデータになる。
例2:上記例1のMT4用ヒストリカルデータに対して9月分だけを追加した。
→8月と10月の間ではなく、10月分の後ろに9月分が追加される。何も追加されない。
例3:2017年3月から8月分のMT4用ヒストリカルデータに対して2月分を追加した。
→3月の前ではなく、8月分の後ろに2月分が追加される。何も追加されない。
例4:2017年3月から8月分と半端な9月分(1~15日分)までのMT4用ヒストリカルデータに対して完全な9月分(1~30日分)を追加した。
→9月1日~15日分が重複する。9月16日~30日分が追加される。
特に例4は当月のGMOヒストリカルデータをダウンロードした場合(例えば、2017年9月16日と10月1日に2017年9月分をダウンロードした等)に起きそうなケースです。気を付けてください。
上記の例以外にもおかしくなるケースはあると思います。その場合は、対象のMT4用ヒストリカルデータを削除、または「HstFile」フォルダそのものを削除して作り直してください。(なので、作り直しに備えてダウンロードしたGMOヒストリカルデータは削除せずにバックアップしておくことをおすすめします)
最低限必要なソースのみ添付されています。リソースファイル(.res)などは添付されていません。
リリース日 | バージョン | 内容 |
---|---|---|
2017/12/07 | 1.0.0.0 | 初リリース |
2018/11/17 | 1.1.0.0 | 1.出来高の値を増やせるようにしました。 2.ExモードとCFDのヒストリカルデータも変換できるようにしました。 詳細は使い方(オプション)を参照してください。 |
2018/11/23 | 1.1.1.0 | 1.Escキーで中断できない不具合を修正しました。 2.ファイル名指定時の処理速度を改善しました。 |
2019/01/23 | 1.1.1.0 | MT4のsymbols.rawなどを参照、編集するツール「Symbols Viewer and Editer for MT4」に関する記述を追加しました。 |
2019/03/22 | 2.0.0.0 | 1.ドル円とクロス円以外の出来高の計算方法を修正しました。 2.差分追記に関する処理を変更しました。 |
2021/12/22 | 2.1.0.0 | GMT処理を追加しました。 |
2022/01/20 | 2.1.1.0 | 1.CFDの新しいCSV形式のヒストリカルデータが読み込めない不具合を修正しました。 2.例外エラー発生時の処理を見直しました。 3.2000年より古いCFDヒストリカルデータが無視される不具合を修正しました。(Ver 2.0.0.0の不具合対応) |