FX外貨自動システムトレードを始めよう! - MetaTrader 4MT4)で作るFX投資ロボット入門
FX(外貨)自動システムトレード - MetaTrader 4でFX投資ロボットを作ろう!

2.3. MetaTrader 4でバックテスト(1)

Show this article in: English

2.3.1. バックテストとは

実際に自分の投資システムが、過去のデータではどう働いたか、すなわち自分で作ったプログラムは過去であれば収益を上げたか否かを試してみることを、バックテストと呼びます。

つまりこのテストは、これから起こる傾向は過去の傾向と一致していることを前提に行うわけですが、この有用性に関しては、実は賛否両論です。MetaTrader4付属のバックテスト用プログラムMetaTrader Strategy Testerの性能限界や、オーバーフィッティング(手元のデータに最適化しすぎて、新しいデータに対して適用できないこと)等、バックテストの有用性を妨げる要因はいくつか存在します。

・・・しかし、他に戦略を試す方法があるでしょうか?

ということで、管理人個人としては、バックテストは次善の策にせよ、ある程度有用性はあると考えています。

2.3.2. MetaTrader 4の設定

MetaTrader Strategy Testerを使ったバックテストの有効性を少しでも高めるために、バックテストで扱うデータの量を増やすのは大切です。この工程を行って、バックテストで最大のデータ量を扱えるように設定してください。

MetaTraderを開いて、"Tools > Options"を選択してください。(あるいは、Ctrl+O)
オプションダイアログが表示されたら、下のようにChartsタブの"Max bars in history"と、"Max bars in chart"99999999999といった大きな数を入れます。

MetaTrader Options ウィンドウ

このようにすることで、バックテストで扱うデータの量は、MetaTraderで扱える最大値に自動的に設定されます。
(999999999999といった数は、MetaTraderで扱える最大の数に自動的に置き換わります)

2.3.3. 過去のデータを入手する

さて、バックテストを行うためにまず必要なものは、過去の値動きのデータです。
過去(2004年以降)の値動きのデータは、Alpari Databankよりオンラインで無料取得できます:
http://www.alpari-idc.com/en/dc/databank.php

上のリンクをクリックすると、"History Center for MetaTrader"というページが開くはずです。
このページでは、各通貨ペア(EURUSD、USDJPY等)での1分足、日足のデータが、それぞれ提供されています。

1分足のデータから5分足、時間足等のデータを作ることができるので、基本的には1分足のデータをダウンロードしましょう。

たとえばここでは、1分足のUSDJPYデータをダウンロードしてみます。

ダウンロードしたデータを解凍すると、中に"M1_USDJPY.hst"というファイルが入っているはずです。
このファイルを任意の場所に解凍して、MetaTrader 4へインポートしていきます。

2.3.4. 過去のデータをMetaTraderにインポート

上までの過程で、MetaTraderで使うためのデータを用意することができましたので、いよいよそれをMetaTraderへインポートしましょう。"Tools > History Center"を選んで、History Centerを開きましょう。(またはF2キー)

MetaTrader History Center

上のようなウィンドウが開いたら、まずは左側のSymbolsから、"USDJPY > 1 Minute (M1)"と選んでいきましょう。
次に下のImportボタンをクリックすると、Importウィンドウが開きます。

Fileの欄で先ほど解凍したファイルを選びOKをクリックしてウィンドウを閉じましょう。

次のステップへ進む前に、必ずMetaTraderを再起動してください!

MetaTrader 4 の各種設定
MetaTrader 4でバックテスト(2)