FXDDのヒストリカルデータ
2023年9月、これまでとは異なるヒストリカルデータが掲載されているようで、データの信憑性が以前より悪くなっています
Dukascopy のデータを入手したほうがいいでしょう
以下の内容はそれ以前のデータによるもので、もし元に戻ればとしてしばらく残しておきます
無料のヒストリカルデータはFXDDも含めてそれなりに癖があります。なので有料のデータの意味があるのですが
こちらのデータはゴミが入っているので移動平均など計算がズレてしまいます。
データのGapチェック
FXDDのヒストリカルデータはこちらからダウンロードできますが
Metatrader 1-Minute Data
ヒストリカルデータの抜けがないかテストするソフトがあります。AnalyzeHistory.mq4 を以下リンクからダウンロードします。
Analyze History – expert for MetaTrader 4
..\MQL4\Experts 以下にEAと同じようにファイルを置き、MT4を再起動します。
MT4のストラテジーテスターを以下のように設定します。
- エキスパートアドバイザーでAnalyzeHistory.ex4を選択
- テストする通貨ペアを設定してM1など時間足の設定
- モデルは始値のみ
- 期間は指定せず
これでスタートさせます。
終了後「操作履歴」をみるとgapがある時間が表示されています。
MT4のチャート上で見てみると、土日に余計なデータが入っていたり、逆にデータが抜けている箇所もあります。
2020.09.26(土) 00:50 前の終値で横棒となっている
2020.09.27(日) 23:50 前の終値で横棒となっている
2020.09.28(月) 00:05 前の足の4分間が空白となっている
これは1時間足も日足もバーが2本増えてしまい、移動平均などズレが生じてしまいます。
土日のゴミデータを削除
土日だけに注目してゴミデータを調べてみると、2011年~2020年までの期間に20件のデータがありました
1年に2件の割合です。
土日のゴミを除去するスクリプトを公開されていますので使ってみます。
hst→csv変換スクリプト(土日ゴミデータ除去機能付き)
こちらの hst2csv.mq4 ファイルはhstからcsvに変換する際に土日にデータがあると変換をスキップするということのようです。
使い方は、
- FXDDの xxx.hst ヒストリカルデータを ..\MQL4\Files に入れる
- スクリプトファイルを ..\MQL4\Scripts に設置してMT4を再起動
- スクリプトから hst2csv をダブルクリックしてパラメータ設定で xxx.hst の名前を入力
- その後、数分後にxxx.csvのファイルが生成されています。
年数回のGapが発生
ヒストリカルデータを再度インポートして問題の箇所を見て見ると
確かに土日のデータは削除されていますが、抜けたデータはそのままです。
少なくとも日足が2本増えるということは避けられます。
Dukascopyのヒストリカルデータと比べてみると、
そもそもFXブローカーの価格が全く同じではないのでしかたないところではあります。
ここで再度Gapチェックを AnalyzeHistory.mq4 でやりたいのですが土日のGapもカウントするので、このコードを修正して土日のGap以外にGapが無いか調べてみます。
USDJPY M1, 2019年~2020年9月までのログです
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
AnalyzeHistory USDJPY,M1: gap from 2018.12.31 23:30 to 2019.01.01 00:30 AnalyzeHistory USDJPY,M1: gap from 2019.01.01 00:30 to 2019.01.01 23:30 AnalyzeHistory USDJPY,M1: gap from 2019.01.01 23:30 to 2019.01.02 00:30 AnalyzeHistory USDJPY,M1: gap from 2019.01.02 00:30 to 2019.01.02 08:01 AnalyzeHistory USDJPY,M1: gap from 2019.10.04 10:01 to 2019.10.04 10:22 AnalyzeHistory USDJPY,M1: gap from 2019.12.24 21:00 to 2019.12.24 23:50 AnalyzeHistory USDJPY,M1: gap from 2019.12.24 23:50 to 2019.12.25 00:02 AnalyzeHistory USDJPY,M1: gap from 2019.12.25 08:58 to 2019.12.25 23:50 AnalyzeHistory USDJPY,M1: gap from 2019.12.25 23:50 to 2019.12.26 00:02 AnalyzeHistory USDJPY,M1: gap from 2019.12.26 04:00 to 2019.12.26 09:00 AnalyzeHistory USDJPY,M1: gap from 2019.12.31 21:00 to 2019.12.31 23:50 AnalyzeHistory USDJPY,M1: gap from 2019.12.31 23:50 to 2020.01.01 00:12 AnalyzeHistory USDJPY,M1: gap from 2020.01.01 00:12 to 2020.01.01 23:50 AnalyzeHistory USDJPY,M1: gap from 2020.01.01 23:50 to 2020.01.02 00:12 AnalyzeHistory USDJPY,M1: gap from 2020.01.02 00:12 to 2020.01.02 09:00 AnalyzeHistory USDJPY,M1: gap from 2020.02.12 21:28 to 2020.02.12 21:39 AnalyzeHistory USDJPY,M1: gap from 2020.03.04 22:27 to 2020.03.04 23:50 AnalyzeHistory USDJPY,M1: gap from 2020.04.24 10:26 to 2020.04.24 10:59 |
クリスマスシーズンから年初にかけてはGapが発生していますが、これはFXブローカーのお休みでしょう。
この年末年始の時期はエントリーしないというEAもありますから、影響はないかもしれません。
ただし、年に数回程度のGapが発生しています。
- 2019.10.04 10:01 to 2019.10.04 10:22
- 2020.02.12 21:28 to 2020.02.12 21:39
- 2020.03.04 22:27 to 2020.03.04 23:50
- 2020.04.24 10:26 to 2020.04.24 10:59
年数回なのでそれがEAの全体にどう影響するかということです。
Gapが出ている箇所は無いものを作り出すわけにはいかないので、そういうデータであると理解していれば使えないこともないとは思います。
因みにDukascopyのヒストリカルデータですが、同じようにテストしてみると
1 2 |
AnalyzeHistory_B USDJPY,M1: gap from 2019.12.25 09:59 to 2019.12.26 00:00 AnalyzeHistory_B USDJPY,M1: gap from 2019.12.31 23:59 to 2020.01.02 00:00 |
取引停止時間にGapがあるだけでその他の時間にはFXDDのような抜けは発生していません。
ただし、時間のズレを調整した後のヒストリカルデータです。
Dukascopyのデータは抜けやゴミは無いようですが、時差と夏時間調整が必要
https://fx-ai-trading.com/ea/dukascopy.html
まとめ
FXDDのヒストリカルデータはよく見ると抜けやゴミがありますが、年に数回ほどです。
これがほとんど関係しないEAもあるでしょうし、修正しても損益結果が変わってしまうEAもあるかもしれません。それを理解した上て使用する必要があるようです。