バックテストをできる限り正確に行うためには、事前に設定とヒストリーデータの収集整理を行う必要があります。今回はその設定と、だれでも簡単にでき全ブローカーに対応したヒストリーデータの収集整理方法を紹介いたします。
①MetaTraderの設定
以下の設定をして、バックテストで扱うデータ量を最大化します。
- MetaTraderを 起動して、”ツール>オプション”(Ctrl+O)を選択してください。
- オプションダイアログが表示されたら、”チャート”タブを選択します。
- その中の、”ヒストリー内バーの最大数”に9999999999と入力し、”OK”でこの画面を閉じてください。

こうすることで最大化の設定ができます。(再びこの画面を見てみると数字が変わっているのが分かります。)
②ヒストリーデータの取得
次にヒストリーデータの取得を行います。今回は、全ブローカーに対応していてもっとも信頼性のある取得方法の紹介です。
- データを収集したい通貨ペア(今回はドル円)の1分足を表示させます。(①)
- チャートのズームを最小にします。(②)
- チャートの自動スクロール機能をOFFにします。(③)
あとはページスクロールが止まるまで、ひたすら”カーソルの左”か”ページアップ”を押し続けます。
この作業で得られるデータはおおよそ3ヶ月分くらいでしょう。今後は①で設定したデータ量になるまでずっとヒストリーデータが蓄積されていきます。言い方を変えると、3ヶ月間ほどの間MetaTraderを一度も起動せずに放置しておくと、その後データを取得しようとしたときに穴が開くことになります。注意してください。
たった3ヶ月ほどのデータですが、このデータは使用しているブローカーのサーバーデータそのものですので、信頼性が高いです。ヒストリーデータは各社違いますから。
③1分足のデータから他の時間足のデータを作る
②で1分足のデータを取得しました。今度はそのデータを利用して他の時間足のデータを作ります。他の時間足で②のようにしてデータを取得する方法もありますが、バックテスト時Mismatched charts errorsが多く発生する原因になりますのでお勧めしません。
- まず、ここで一度再起動します。
- 次に、”ファイル>オフラインチャート”を選択して下の画面を出します。
- この中から先ほど取得した、1分足のデータを選択します。(今回はドル円ですので、USDJPY,M1になりますね)
- 次は、以下の画面左下にある”ナビゲーター”内の”Scripts”にある?の”period_converter”(①)を選択します。すると以下のダイヤログが表示されます。
- ”パラメータの入力”タブにある項目、”ExtPeriodMultiplier”の値”value”(②)をこれから作り上げたい時間足の数値に変更します。たとえば、5分足なら"5"、15分足なら"15"、1時間足なら"60"というように、すべて分で入力します。
- 入力後”OK”でダイヤログを閉じると、指定の時間足データが作成されるのです。

すると、チャートが表示されます。

同様にして、すべての時間足のデータを作り上げます。(再度"period_converter"を選択すると、エラーのようなダイヤログが出ますが、そのまま”はい”を押して進んでください。)
Post a Comment