MT5のストラテジーテスターでは、バックテストに使用するヒストリカルデータの種類として、下記の4種類が選択できます。
全ティック | MT5が生成した疑似ティックを使用 |
---|---|
リアルティックに基づいたすべてのティック | MT5の取引サーバから取得したブローカーのティックを使用 |
1分足OHLC | 1分足の始値・高値・安値・終値のみを使用 |
始値のみ | 選択した時間枠の始値のみを使用 |
この4種類のうち、いわゆるリアルテック(ブローカーが実際に配信したティック)は、「リアルティックに基づいたすべてのティック」になります。MT4ではデフォルト機能でリアルティックが利用できなかったので、うれしい進化ですね!
しかし、このリアルティックは正確なデータとは限らないため、利用する前に確認が必要です。
この記事では、MT5の4種類のヒストリカルデータや、MT5のリアルティックの注意点などを紹介します。
MT5バックテストの4つのヒストリカルデータの種類
MT5で利用できる4つのヒストリカルデータについて、メタクオーツの資料を基に紹介します。
- 全ティック
- リアルティックに基づいたすべてのティック
- 1分足OHLC
- 値のみ
なお、ヒストリカルデータの種類は、バックテスト設定の「モデル」の項目で選択できます。
上記の4種類のほかに「数値計算」という選択肢もありますが、これはヒストリカルデータには関係ありません。MQL5言語でプログラムを組んで、複雑な計算を行うものになります。
全ティック
「全ティック」は、1分足のデータに基づいて生成されます。生成のイメージは次のようなものです。
作成される数が決まっているので、リアルティックよりはティックの数が少なくなります。生成されるティックなので、MT4で「疑似ティック」と呼ばれているものに相当します。
スプレッドは変動しますが、もともと1分足から生成したものなので、1分足の中では同じスプレッドの数値が使われます。
リアルティックに基づいたすべてのティック
「リアルティックに基づいたすべてのティック」を選ぶと、ブローカーが実際に配信したリアルティックでバックテストができます。しかし、「全ティック」よりもデータが多いので、ダウンロードする際に時間がかかります。
スプレッドは変動スプレッドです。
MT4でリアルティックでのバックテストをするには、数万円の有料ツールを購入する必要がありました。MT4にはヒストリカルデータのインポート機能があり、リアルティックのヒストリカルデータをcsv形式で提供しているブローカーもあるのですが、MT4の仕様上、リアルティックをMT4にインポートすると1分足に変換されてしまうためです。
1分足OHLC・始値のみ
「1分足OHLC」と「始値のみ」の2つは、通常のEAのバックテストに使うと結果が不正確になりますので、おすすめしません。
「1分足OHLC」は1分足なので少しましですが、「始値のみ」では、バックテストを行っている時間枠の始値が使用されますので、例えば1時間足であれば、1時間に1回しか条件判定が行われません。
もともと始値のみを条件にトレードするロジックになっているEAにしか使えないでしょう。
MT5バックテストのティックデータ(リアルティック)の注意点
MT5では、利用している口座のティックデータ(リアルティック)をバックテストに利用できますが、注意点もあります。
昔のデータは不正確な可能性
使用しているブローカーの値動きでバックテストができるのは便利ではありますが、制約もあります。具体的には、昔のデータになればなるほど不正確になります。
MT5上部の「表示」メニューから「銘柄」を選択すると、スプレッドなどのヒストリカルデータの詳細を確認することができます。
これでExnessゼロスプレッド口座の2010年のヒストリカルデータと2022年のヒストリカルデータをユーロドルで比較してみると、以下のようになります。
ゼロスプレッド口座なので、現在(2022年)のスプレッドはゼロ(手数料別)ですが、2010年は平均して9ポイント(0.9pips)のスプレッドが発生していますね。
なお、その後もスプレッドは変動し、ゼロになったのは2019年のことです。
MT4のリアルティックとしてよく使われているDucascopyのヒストリカルデータも、Ducascopyの取引条件変更などでスプレッドは変化していますが、MT5のリアルティックの方が変動幅は大きい印象です。
理由ははっきりわかりませんが、古いのデータには別の口座タイプや別の海外FX業者のデータを使っているなどの事情があるのかもしれません。特に、設立して間もないブローカーなどは設立日以前の自社のヒストリカルデータを持っていないので、現在のスプレッド条件とは異なるデータが入っている可能性が高いです。
ほとんどの海外FX業者で、古いデータは今とは全然違うデータになるっコ・・・
MT5ではティックデータのインポートも可能
バックテスト設定で「リアルティックに基づいたすべてのティック」を選択すれば、確かにリアルティックにはなるのですが、先ほど説明した通り、そのリアルティックがあまり信頼できないこともあります。
正確なヒストリカルデータを使用したい場合には、まずは、使っているブローカーのMT5で入手できるヒストリカルデータをさかのぼってみて、現在とどの程度違うのかを確認してください。
その後、あまりにデータが異なるようなら、MT4と同様に外部のヒストリカルデータのインポートを検討するのがいいでしょう。
外部のヒストリカルデータをインポートする方法は、こちらの記事にまとめています。
Ducascopyのヒストリカルデータも時期によって多少はスプレッドが変動しますので、スプレッドを完全にゼロにしてバックテストするという選択肢もあります。
ヒストリカルデータとしてインポートできるのは、「CSV」または「HST」の形式のファイルです。このうち、HSTファイルは、MT4とMT5のヒストリカルデータの共通規格で、ファイルそのものを開いて修正することは基本的にできません。
しかし、CSVファイルであれば、エクセルなどで開くことができ、一番右の列に表示されるスプレッドの値のみをゼロにすれば、スプレッドゼロのヒストリカルデータを作成することができます。
上記の画像は文字がつながっていて見にくいですが、タブ区切りで、MT5にインポートするヒストリカルデータの9つの要素(日付・時間・始値・高値・安値・終値・ティックボリューム・ボリューム・スプレッド)が記載されています。
MT5バックテストのティックデータ(疑似ティック・リアルティック)を使い分ける方法も
リアルティックでのバックテストは正確ではありますが、処理に時間がかかってしまいます。
そこでおすすめなのが、「全ティック(疑似ティック)」と「リアルティックに基づいたすべてのティック」を使い分ける方法です。
EAを開発する目的で使う場合は、1つのバックテストに長時間かかるとあまり効率がよくないので、ざっくり全ティックでバックテストして、しっかり結果を見たい場合のみ「リアルティックに基づいたすべてのティック」で時間をかけてバックテストするやり方です。
逆に、購入したEAをバックテストするのであれば、最初から「リアルティックに基づいたすべてのティック」を使うのもありです。まだMT5のEAはほとんど販売されていませんが、徐々に一般のEAトレーダーもバックテストする機会が増えてくるかもしれませんね。
海外FX業者のボーナスはすごい!
100%入金ボーナスで資金が一気に2倍に!
大手海外FX業者、XMTradingのボーナスの詳しい解説
↓↓↓↓↓↓↓↓↓↓↓↓↓↓
コメント