2011年8月19日金曜日

FXDD MT4のダウンロード可能なM1データがgdgdな件

EA動かしてたら
TestGenerator: unmatched data error
というエラーが大量に出てるから、なんじゃこりゃ?と思ったら
足りないヒストリーがあるとのこと。

なので、ヒストリー構築方法をあれこれ調べた。

んで、いろんなサイトに載ってる方法を実践。

1.FXDDのM1データを取ってくる
2.Period_Converterで他の足を生成

http://global.fxdd.com/jp/mt1m-data.html
から必要そうなのを取ってきた。

period_converterは最初1個1個作ってたけど、
Period_ConverterALL.mq4を使えば一発でいろんな足の取れる。これはいい。
でも、週足と月足のデータはM1から生成しなくてもいいから除く。

んで見たところ・・・・
ガッデム!
ふざくんに!!!><

・全データ2011/04/01 07:00(FXDD Malta時間)で異常値検出。
・EURUSDの2011/05/01 23:45に-600pp以上の異常値あり。しかもこれ日曜!!
・他にも何故か土日にちらちらデータが入ってる。異常値の確率高い。
・更に、週のクローズの時間やオープンの時間がバラバラ。
サマータイム関係なく。
2010/12/24や12/31は20時でクローズ。
2011/01/14は23:59でクローズして01/17 01:00オープン。
最近は22:59クローズの00:00オープン。
せめてサマータイムの切り替えとかなら簡単なのに、、、。

等々gdgd。
このM1データを元に他の時間足作るとひどいシーンがちらほら。
もちろん、その時間を右クリック更新でサーバーから取ってくると、その辺りは影響なし。
実際には存在しない異常値だから。
ダウンロードM1データにだけ潜んでる罠(なんのための罠だ!><)。


仕方ないので
クローズは00分からしばらくデータがあったらその時間も有効(クローズしてない)、
オープンは00分からしばらくデータがあったらその時間からオープン。
前後の値で1Tickだけぶっ飛んですぐ戻ってきてるところは除く。
正月対応。

辺りでM1ヒストリー再構築スクリプトを作る。


バックテスト重要だけど、
いいデータってないんだね。。。

リアルタイムのデータを残しておくってのが重要だと気付かされたお。orz



他のヒストリー取得方法メモ。
http://fx-introduce.jp/metatrader/tips/historical.html
http://kasege.net/forex/archives/2006/09/forexitedl_autoforexite.html
ただし、Digitsが4。
なので、データがしっかりしてる期間はFXDDの方が精度が高い。
あと、サマータイムは考慮されてたりされてなかったり時期によって違うっぽい。
使うときには注意しよ。



FXDD M1 gdgdメモ追記
・2011/01/14 23:00のデータが2行ある
2011/1/14 23:01 1.33577 1.33577 1.33583 1.3358 21
2011/1/14 23:00 1.33573 1.33567 1.33585 1.33577 56
2011/1/14 23:00 1.33726 1.33718 1.33726 1.33724 8
2011/1/14 22:59 1.33782 1.33717 1.33783 1.33722 83
実際にチャートに表示されるのは後ろのVolume 56の方。このケースだとどちらを使っても窓が開く。
とりあえず後者を生かす。

・2011/03/12 23:53以降の足が1時間ずれてる
2011/3/12 0:59 1.38982 1.38981 1.39013 1.39012 53
2011/3/12 0:58 1.38979 1.38972 1.38982 1.38982 41
2011/3/12 0:57 1.38984 1.38975 1.38985 1.3898 40
2011/3/12 0:56 1.38982 1.3898 1.38984 1.38984 30
2011/3/12 0:55 1.38981 1.38981 1.38987 1.38982 30
2011/3/12 0:54 1.39 1.38981 1.39002 1.38981 44
2011/3/11 23:53 1.38976 1.38972 1.39008 1.39 75
2011/3/11 23:52 1.38976 1.38973 1.38983 1.38978 41
ひどいなぁ。とりあえずルーチン通り23:53の終値で23:45-23:59まで埋めておく。
ここだけ特別扱いのルーチンは無理。


0 件のコメント:

コメントを投稿