不整合チャートエラー(Mismatched Charts Errors)とは、バックテストを行う際に使用する各時間足の価格データ間の齟齬(不整合)のことをいいます。
各時間足の価格データ間の齟齬(不整合)とは、例えば、2014年4月1日00:00における5分足の始値データが「100.00」であるにもかかわらず、同一日時の15分足の始値データが「100.10」となっているような状態をいいます。
バックテストを実行した際に、このような齟齬(不整合)が存在すると、その数がカウントされ、ストラテジーテスターの「レポート」タブにおけるバックテストの結果レポートに、「不整合チャートエラー」として表示されます。
バックテストの結果に、不整合チャートエラーが多数存在している場合は、「バックテストの結果の信頼性(精度)が低い」ことを意味します。
そこで、バックテストの信頼性(精度)を高めるためには、不整合チャートエラーの数をできる限り減らす(理想は「0」)ことが必要となります。
MetaTrader4(MT4)で、不整合チャートエラーの数を減らすには、以下の手順によります(「ユーロ/ドル」を例として使用します。)。
なお、事前に「period_converter_All.zip」をダウンロードして展開し、展開後のファイル(period_comverter_All.mq4)を、MT4を起動したうえで、「ファイル」→「データフォルダを開く」→「MQL4」→「Scripts」に格納しておいてください。
1.1分足データを用意する
「ユーロ/ドル」の1分足データを取得する方法としては、以下のような方法があります。
- 「FXDD」のHPから取得する。
- 「デューカスコピー・ジャパン株式会社」から取得する(推奨)。
「デューカスコピー・ジャパン株式会社」から取得する方法については、「こちら」で解説しています。
「FXDD」のHPから取得するためには、「こちら」にアクセスし、「EUR/USD」をクリックして「ユーロ/ドル」の1分足データをダウンロードし、ダウンロードしたファイル(EURUSD.zip)を展開します(EURUSD.hst)。
2.MT4のオプションを設定する
MT4を起動し、「ツール」→「オプション」とクリックすると、「オプションの設定」ダイアログボックスが表示されます。
↓
「チャート」タブをクリックし、「ヒストリー内の最大バー数」と「チャートの最大バー数」に、「99999…」と入力して、「OK」をクリックします。
もう一度、「ツール」→「オプション」→「チャート」とクリックし、「ヒストリー内の最大バー数」と「チャートの最大バー数」が最大となっていることを確認し、「OK」をクリックします。
3.ヒストリカルデータを削除する
MT4のチャートウィンドウを全て閉じます。
そして、「ファイル」→「データフォルダを開く」(※データフォルダが開いた時点で、MT4は閉じます。)→「history」→「業者名 Live Server等」とフォルダを開いていき、「EURUSD」という名前が付いているファイルを全て削除します。
4.1分足データをインポートする
MT4を起動し、「ツール」→「ヒストリーセンター」とクリックすると、「ヒストリー・センター」ウィンドウが表示されます。
↓
「通貨ペア」のディレクトリから「EURUSD 1Minute(1M)」を選択し、「インポート」をクリックすると、「インポート」ウィンドウが表示されるので、「ブラウズ」をクリックして「EURUSD.hst」ファイルを選択したうえで、「OK」をクリックします。
↓
「ヒストリー・センター」ウィンドウに戻り、「閉じる」をクリックし、MT4を閉じます。
5.他の時間足を作る
MT4を起動して、「ファイル」→「オフラインチャート」とクリックすると、「オフライン・チャート一覧」ウィンドウが表示されます。
↓
「EURUSD,M1」を選択して「開く」をクリックすると、「ユーロ/ドル 1分足」のオフラインチャートが表示されます。
↓
表示された「ユーロ/ドル 1分足」のオフラインチャートに「peirod_converter_All」をドラッグ&ドロップして実行させます。
「ターミナルウィンドウ」の「エキスパート」タブの「メッセージ」欄に、以下のような表示が出れば、終了となるので、MT4を閉じます。
6.確認する
以上の操作を完了したうえで、MT4を再起動し、もう一度バックテストを行い、ストラテジーテスターのレポートタブを開いてバックテストの結果レポートを見てみると、不整合チャートエラー数が「0」になっているのが確認できます。