EAのバックテストの仕方②[柿澤真正]
柿澤真正さんプロフィール
かきざわ・まさのぶ。2009年よりFXの自動売買システムの開発を開始し、EasySniperやMultiAgent等をはじめ、多くの自動売買システムを証券会社やユーザに提供してきた。インヴァスト証券の自動売買サービス「シストレ24」にて、提供ストラテジーMultiAgentが2016年の年間アワードを圧倒的成績、評価で獲得。また、ひまわり証券の自動売買サービス「エコトレ」にて提供ストラテジーの「ひかえめビーナス」が2013年〜2014年の1年以上にわたり利用者数1位をキープ。利用者数は700名を超える。現在は、MultiAgentをさらに進化させたドリームエージェントFXを提供中。
この連載では、FXの自動売買システム、その中でもMetaTrader4(以下MT4)上で稼働する自動売買システムであるEAにスポットを当て、それを運用していくための知識・ノウハウを専業トレーダーの柿澤真正さんにナビゲートしていただきます。EAの運用を検討している方はもちろん、既にEAを利用している方もぜひ参考にしてください。
※この記事は、FX攻略.com2019年6月号の記事を転載・再編集したものです。本文で書かれている相場情報は現在の相場とは異なりますのでご注意ください。
ヒストリカルデータを取得しよう
こんにちは。今回は「EAのバックテストの仕方」の2回目となります。前回説明したバックテストツールの操作方法に従って実際にバックテストを実行した方、バックテストは想定した期間でうまくいったでしょうか? ほとんどの人が、設定していた期間よりもはるかに短い直近数か月程度のテストしか結果が出なかったのではないでしょうか?
それもそのはずです。過去のバックテストを行うにあたっては、その期間に見合う過去の相場データが必要となります。この過去の相場データのことを「ヒストリカルデータ」と呼びますが、バックテストを行うためにはその準備作業として、必要な期間のヒストリカルデータの取得(取り込み)が必要となります。今回はそのヒストリカルデータの取得に関して説明していきたいと思います。
ヒストリカルデータを取得する方法
まずヒストリカルデータの取得にあたっては、MT4の設定が必要です。MT4を立ち上げて画像①のように「ツール↓オプション」を実行し、表示された画面で「チャートタブ」を開き、一番下の二つの項目、「ヒストリー内の最大バー数」と「チャートの最大バー数」に「9999999999999999」とオール9を入力し、OKボタンを押します(画像②)。この設定を行うことにより、MT4の最大値までのヒストリカルデータを取り込むことができるようになります。
さて、ヒストリカルデータの取得方法は、大きく以下の2通りの方法があります。
- チャートの表示および遷移により取得
- 外部データの取り込み
まずは、「チャートの表示および遷移により取得」から見ていきましょう。相場データはチャートを表示させておくことにより、チャート表示期間のデータをリアルタイムで取得しています。そのため、必要な通貨ペアの必要な時間足のチャートを表示しておけば(開いておけば)表示されているチャートの通貨ペア・時間足のチャート表示以降のヒストリカルデータを取得することが可能です。
ただし、この方法で取得できるのは、あくまでもチャートを開いた以降のデータであって、本来の意味でのヒストリカルデータ(過去データ)を取得することはできません。
そこで、チャート表示以前の期間のヒストリカルデータを取得するために、チャートの遷移を行います。チャートの遷移、と難しい言葉でいっていますが、要はチャートを過去の期間に移動させていくことで、その移動させて表示された期間のヒストリカルデータの取得が可能となるのです。具体的にはチャート上で左から右にドラッグすればより過去のチャートを表示することができます。
この方法で必要な過去期間のヒストリカルデータを取得できればそれが一番分かりやすいのですが、残念ながらこの方法では1分足だと数か月程度のデータしか取得できません。過去のチャートに移動していくと、途中でそれ以上さかのぼれなくなります。
そこでより長い期間のヒストリカルデータを取得するための方法として「外部データの取り込み」を試していくことになります。外部データの取得元に関してはいくつかあるかと思いますが、ここでは代表的な二つの取得方法をご紹介させていただきます。