Dukascopyで落としてきたヒストリカルデータを
MT5にインポート、バックテストを行うと、
何度試しても、ヒストリー品質が0%だった。
日本語サイトや読めない英語サイトを調べ漁った結果
結局は公式ページに一番参考になるヒントが書いてあった。
History Quality(ヒストリー品質) — この値はテストの価格データの質を特徴付けます。それは1分間のデータの正誤のパーセンテージ比率として決定されます。ゼロスプレッドまたは異なるOHLC値を持って数量が1に等しい足は正しくないと考えられます。履歴ギャップはまた、不正なデータとして考えられます。サイズに応じて、テスト期間は1~199 に分割されます。ヒストリー品質はその個々に決定されます。ヒストリー品質のグラフィック指標では、時間間隔は異なる色で表示されています(軽い緑の色合いはより良い品質を意味し、赤は品質が50%以下の間隔を表します)。
原因は、ボリューム(出来高)とスプレッドの値にあるみたい。
早速データを見てみると、
赤くなっているデータがちょこちょこ。
ということで
これらを解決策に設定。
↓やったことを箇条書きにするとこんな感じ。
- Dukascopyからhst形式のデータをダウンロード
- 例のスクリプトでデータのタイムゾーンをUTC+2に変換
- MT4にインポート
- MT4から、csv形式でエクスポート(ファイル名:from_mt4.csv)
- Ubuntuで以下2つのコードを順に実行
「sudo nkf -Lu --overwrite from_mt4.csv」
「sudo sed -i -e "s/$/,0,5/g" from_mt4.csv」 - from_mt4.csvをMT5にインポート
すると、、、
品質の低下を示す、赤い強調がなくなっているではありませんか!
早速このデータでテストをしてみると、
無事、ヒストリー品質が100%に。
Ubuntuで入力したコマンドはこちらのサイトを参考にしました。
お疲れさまでした。
出来高が戦略の要素になっている場合は、ティックを操作するのはEAの精度に悪影響を及ぼす可能性があります。
スプレッドは適宜変えてもいいと思います。
より広いスプレッドでも右肩上がりの資産曲線を描けるEAが優秀なのは
当たり前ですから、できるだけ幅広にするのもいいと思います。
僕も普段からスプレッドは10ポイントくらいで開発しています。