こんにちは。裁量の専業トレーダー兼、MQL開発者のmetroです。
MT5のバックテストの
ヒストリー品質を100%にした経験をシェアします。
ヒストリー品質が悪い原因はコレ
Dukascopyで落としてきたヒストリカルデータを
UTC+2に変換してから
MT5にインポートしバックテストを行うと
何度試しても、ヒストリー品質が0%でした。
中途半端な66%になることもありました。
そこで日本語、あるいは読めない英語ページを漁った結果
結局は公式ページに一番参考になるヒントが書いてありました。
History Quality(ヒストリー品質) — この値はテストの価格データの質を特徴付けます。それは1分間のデータの正誤のパーセンテージ比率として決定されます。ゼロスプレッドまたは異なるOHLC値を持って数量が1に等しい足は正しくないと考えられます。履歴ギャップはまた、不正なデータとして考えられます。サイズに応じて、テスト期間は1~199 に分割されます。ヒストリー品質はその個々に決定されます。ヒストリー品質のグラフィック指標では、時間間隔は異なる色で表示されています(軽い緑の色合いはより良い品質を意味し、赤は品質が50%以下の間隔を表します)。
原因は、ティックボリュームとスプレッドの値にありそうです。
Ctrl + Uから該当する銘柄のデータを検証してみると、
赤くなっているデータがいくつも見つかりました。
ということで
これらを解決策に設定しました。
具体的にやったこと
こちらのサイトを参考しました。
ちなみに、Linux系OSのUbuntuを使いましたが
要は、CSVの該当する箇所を、一括で書き換えているだけです。
なのでUbuntuでなくても、WindowsのPowershellや
コマンドプロンプトなどでもできるんだと思います。
やったことを箇条書きにするとこんな感じです。
- Dukascopyからhst形式のデータをダウンロード
- 例のスクリプトでデータのタイムゾーンをUTC+2に変換
- MT4/5にインポート
- MT4/5から、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をMT4/5にインポート
すると、、、
品質の低下を示す、赤い強調がなくなりました。
早速このデータでテストをしてみると、
無事、ヒストリー品質が100%に。
お疲れさまでした。
出来高が戦略の要素になっている場合は、ティックを操作するのはEAの精度に悪影響を及ぼす可能性があります。
スプレッドは適宜変えてもいいと思います。
より広いスプレッドでも右肩上がりの資産曲線を描けるEAが優秀なのは
当たり前ですから、できるだけ幅広にするのもいいと思います。
僕も普段からスプレッドは10ポイントくらいで開発しています。