EAのバックテストを行うために、MT4のヒストリーセンター以外から入手したデータを使用している人は多いと思います。
しかし、データの書式やタイムゾーンが違う、ファイルが複数に分割されている、といったことがしばしばあり、それらを修正してインポートする作業はなかなか面倒なものです。
History Converterはそうした手間のかかる作業を全自動でやってくれる便利なスクリプトです。
データ結合・書式/時間軸/タイムゾーン変換、全部おまかせ!
History Converterでは、以下の4つ作業を一連の手続きとして行うことができます。データの結合
長期のヒストリカルデータは容量が大きいため、年や月ごとに分けて配布されている場合がほとんどです。これらを一つ一つインポートしていくのは、地道で根気のいる作業です。History Converterは、ソースとなるデータが分かれていても読み込むことができます。処理されたデータは一つのファイルとして出力されるので、一度でインポートできます。
タイムゾーンの変換
ヒストリカルデータは公開元によってタイムゾーンがバラバラです。MT4には時間をずらしてインポートする機能がついていますが、夏時間に対応していないため、欧州・米国時間のデータを利用する際に困ります。History Converterは、タイムゾーンを正確に変換します。2007~2008年にかけてアメリカとオセアニアで夏時間の期間が変更されましたが、それも考慮して変換されるため、長期のヒストリカールデータのタイムゾーン変換にも対応しています。
しかも、ソースとなるデータファイル一つ一つにつきタイムゾーンを指定することもできるため、公開元の異なるデータが混在していても読み込むことができます。
データフォーマットの変換
ヒストリカルデータのフォーマットは公開元によって異なり、そのままではMT4で読み込めないものもあります。エクセルやテキストエディタで修正することも可能ですが、これも自動でできるに越したことはありません。History Converterは様々なデータソースを読み込むことができ、それらをMT4で読み取り可能なCSV形式で出力します。
時間軸の変換
さらにおまけで時間軸を変換する機能も付けました。1分足データがあれば、どんな時間軸のデータも生成することができます。ヒストリカルデータの入手先
主だったFXのヒストリカルデータの入手先を紹介します。データの品質や公開している期間などにそれぞれ違いがあるので、目的にあったところを選ぶといいでしょう。Metaquotes
MT4のヒストリーセンターから、Metaquotes社が公開しているデータをダウンロードできます。手軽にダウンロードでき、種類も豊富で、期間が長いのがメリット。ただしデータが抜けていたり変なレートが混じっていたりと、品質はいまひとつな模様。
Alpari.com
日本のアルパリはスイスショックで撤退しましたが、Alpari.comはまだ生きています。ここのMT4をインストールすると、ヒストリーセンターからAlpari社のデータをダウンロードすることができます。種類がそろっており、期間も長く、データ品質も良いためおすすめです。
FXDD
大手ブローカーFXDDが公開しているデータです。品質が良く、EAバックテストにしばしば利用されています。バイナリファイル(hstファイル)で配布されており、期間は2005年から。
Dukascopy
最近日本に上陸したDukascopy社も品質の良いヒストリカルデータを公開しています。モデリング品質99.9%と公称していますが、一体何がそんなに違うのかは謎です。。。
Forexite
ロシアのブローカーForexite社によるデータです。期間は長いものの、品質はMetaquotes社のものと同レベル。日ごとに分かれている上に全通貨がまとまっていて扱いにくいのも難点です。
Forex Testerのサイトからまとめられたデータを入手できるので、こちらを利用するといいでしょう。
Pepperstone
日本から撤退してしまったPepperstone社ですが、ティック刻みの非常に高精度のヒストリカルデータを公開しています。期間は2009年から。Histdata.com
Histdata.comで公開されているデータは、期間が長く、種類もたくさんあります。昔のデータは抜けが多いですが、最近のデータの品質は悪くありません。GMOクリック証券
口座を開設すると2007年からのヒストリカルデータをダウンロードすることができます。実際に配信されたデータなので、品質は良いと思われます。その他
・GAIN Capital・YADIX
・Pacific Exchange Rate Service
使い方
ファイルの入出力が行われる場所は「ファイル→データフォルダを開く→MQL4→Files」です。サブフォルダを作業ディレクトリとする場合は、DataDirを指定します。SrcFile・DstFileには入力/出力ファイル名を指定します。csv/txtファイルとhstファイルの両方に対応しています。「USDJPY_2014.csv, USDJPY_2015.csv・・・」など複数ファイルに分かれている場合は、"USDJPY_20*.csv"のようにワイルドカードを使って指定します。
Timeframeには時間軸を指定します。Currentとすると時間軸の変換は行いません。
SrcTimezoneとDstTimezoneには、入力/出力データのタイムゾーンを指定します。入力データに複数のタイムゾーンのデータが混在している時は、USDJPY_2013.UC-3.csv、USDJPY_2014.EET.csv、USDJPY_2014.NewYork.csvといったように拡張子の前にタイムゾーンを指定します。
パラメーター
パラメーター名 | デフォルト値 | 説明 |
---|---|---|
SrcFile | 入力ファイル名(ワイルドカード可) | |
DstFile | 出力ファイル名 | |
DataDir | 作業ディレクトリ | |
Timeframe | Current | 時間軸 |
SrcTimezone | None | 入力データのタイムゾーン |
DstTimezone | GMT | 出力データのタイムゾーン |
ダウンロード
ヒストリカルデータを自在に変換、History Converter 最新バージョン: Ver 1.02 (2017.3.5) History Converter.ex4 |
素晴らしいツールの公開ありがとうございます!
返信削除ただし、使い方がわからず上手く変換が出来ませんでした。
① 公開されているファイルをMQL4\Scriptsの下に設置
② *.hstのファイルはMQ4\Filesの下に配置
③ Metatrader起動
④ 適当なチャートを開いてスクリプトを実行
⑤ 以降は本ページに記載の設定方法に則りパラメーターを設定
これでMQL4\Filesの下にファイルが出来上がると思って居たのですが、どこにも生成されたファイルが出来上がらない状況です。
ご利用いただきありがとうございます。
削除お書きいただいた手順はあっているので、パラメーター設定や変換元ファイルなどが原因で何らかのエラーが生じているのではないかと思います。エラーがメッセージボックスで表示されるよう修正いたしましたので、再度ダウンロードしてお試しください。
ありがとうございます!
削除確認させて頂き新しいスクリプトが無事機能致しました。
探していたツールでした。公開,ありがとうございます。
返信削除ただ,操作履歴に次のものが残るだけで,うまく行きません。
2017.4.29. 23:39:37.099 Script History Converter TRYJPY,H1:removed
2017.4.29. 23:36:15.650 Script History Converter TRYJPY,H1:loaded successfully
元データは日足の次のようなものです。
銘柄 日付 始値 高値 安値 終値
TRYJPY 2007/4/2 84.62 85.02 84.32 84.86
TRYJPY 2007/4/3 84.84 86.76 84.7 86.6
時間足でないといけないのでしょうか?
DataDirは空白で試しても,入れて試しても,同じでした。入れ方がよくわからないので,フルパスでC:\Users\H\ForexComTest\MQL4\Files\と入れました。
すみません。よろしくお願いいたします。
ご利用いただきありがとうございます。
削除DataDirは空白で構いません。おそらく何らかのエラーが生じていますので、エキスパートタブのメッセージ(複数)をお書きいただけますでしょうか?
どうもありがとうございます。
削除自己解決しました。ヒストリーセンターのポップアップウィンドーが出てから,左の通貨ペアを選択しないまま,インポートしようとしたのがいけなかったようです。
気づいて,選択してから,元のcsvファイルをインポートしてみると,History Converterを使うまでもなく,できました。
せっかくですから,エキスパートタブのメッセージを載せます。
2017.04.29 23:34:33.558 Script History Converter TRYJPY,H1: removed
2017.04.29 23:34:33.554 History Converter TRYJPY,H1: uninit reason 0
2017.04.29 23:34:33.554 History Converter TRYJPY,H1: OnStart [0]: Timezone is not designated. : SrcTimezone=None DstTimezone=UTC+0
2017.04.29 23:34:33.554 History Converter TRYJPY,H1: initialized
2017.04.29 23:34:33.519 History Converter TRYJPY,H1 inputs: SrcFile=*.csv; DstFile=TRYJPY1440.hst; DataDir=; Timeframe=0; SrcTimezone=127; DstTimezone=0; StartTime=0; EndTime=2145916800; SkipWeekendBars=false;
2017.04.29 23:30:31.960 Script History Converter TRYJPY,H1: loaded successfully
どうもありがとうございました。
Dukascopyのヒストリカルデータを変換しようとして失敗してます
返信削除hstファイルフォーマットを調べましたら、新フォーマット
1レコード60バイトになってました
このスクリプトは、新フォーマット対応してますでしょうか?
https://www.dogrow.net/fx/blog16/
このコメントは投稿者によって削除されました。
返信削除はじめまして。エクスネスのティックデーター4年分を一つにまとめてインポートできるように変換希望なんですが、最初は色々エラーの窓がでていまして、それぞれ変更して、最後にはエラーなくなったのですが、MQL4>Fileに生成されなくて困っています。こちらは随分前の記事のようですが、今も使用って可能でしょうか?
返信削除パラメーターの画像URLを添付します。https://photos.app.goo.gl/r4NgucKu4UoDBZy78