ヒストリカルデータにおけるMT4とMT5との違いについて

コラム

作成したEAを過去のチャート上で実行するというバックテストの
考え方はMT4、MT5ともに同じです。ただし、前述のように設定項目
やテスト結果で異なる点があります。ほかにもバックテストで挙動
の異なる点もあるので、参考のためにいくつか挙げておきます。

・ヒストリカルデータのファイルについて
MT4,MT5ともに過去のチャートデータ(ヒストリカルデータ)は
PC上に保存されており、バックテストのときに利用できるように
なっています。ただ、MT4とMT5とでデータの内容やバックテスト
でのデータの再現方法が異なっています。
MT4では、各通貨ペアの過去データは、データフォルダの
「history[サーバー名]」サブフォルダの下に保存されています。
ファイルは通貨ペアのタイムフレームごとに作成されます。
例えば、USDJPYの15分足データであれば、USDJPY15.hst、EURUSD
の日足データであれば、EURUSD1440.hstなどです。

そして、これらのデータは、MT4上では、[ツール]-[ヒストリカルー
センター]で参照したり、データを追加、修正したりできます。

一方、MT5では、各通貨ペアのヒストリカルデータは、データフォルダ
の「bases[サーバー名]\history」サブフォルダの下に保存されます。
そこでは、通貨ペアのサブフォルダが作成され、その下に年ごとの
データファイルが作成されます。2018年のデータであれば、2018.hcc、
2019年のデータであれば2019.hccといった具合です。MT4と違う点は、
ファイルがタイムフレームごとにわかれていないということです。
1年間のすべてのタイムフレームのデータが、一つのファイルに
まとめられているのです。そのため、MT5ではヒストリーセンター
の機能がありません。MT4のようにヒストリカルデータを追加、
編集することはできません。

・スプレッドについて
MT4では、ヒストリカルデータに売値と買値の差であるスプレッド
の情報は保存されていないので、バックテスト時にスプレッドを
指定する必要がありました。その場合、スプレッドがバックテスト
を通して常に一定値になってしまいます。しかし、実際にはスプレッド
は変動するのが一般的です。バックテストでスプレッドを一定値にして
しまうと、実際の相場との違いが大きくなることがあり、バックテスト
の精度が下がるという問題があります。
一方、MT5ではヒストリカルデータにスプレッドの情報を保存しています。
バックテストのモデルに「全ティック」を指定した場合、1分足の終値
の時点でのスプレッドがバックテストで利用できます。そのため、MT5
ではバックテストの画面でスプレッドを設定する項目はありません。
またチャートに表示されるヒストリカルデータとは別に、バックテスト時
にリアルティックデータを利用できます。これは、バックテストのモデルに
「リアルティックに基ずいたすべてのティック」を指定した場合です。
これは、ティックごとにBidとAskのデータが利用できるので、スプレッドも
実際のデータとしてバックテストが行えます。

・ヒストリカルデータのダウンロードについて
MT4では、チャート上にデータが読み込まれている状態でバックテストを
実行します。そのため、バックテストの前に、チャートを過去にスクロール
するなどして、データをダウンロードする必要がありました。
MT5では、ヒストリカルデータをあらかじめダウンロードしていなくても、
バックテストを実行する際に、必要な期間のデータを自動的にダウンロード
してくれます。チャート上にデータが読み込まれているかどうかを確認する
必要はないので、バックテストにおける利便性はあがったといえるでしょう。

ブログランキング・にほんブログ村へ

コメント

タイトルとURLをコピーしました