EAの最適化の仕方[柿澤真正]
柿澤真正さんプロフィール
かきざわ・まさのぶ。2009年よりFXの自動売買システムの開発を開始し、EasySniperやMultiAgent等をはじめ、多くの自動売買システムを証券会社やユーザに提供してきた。インヴァスト証券の自動売買サービス「シストレ24」にて、提供ストラテジーMultiAgentが2016年の年間アワードを圧倒的成績、評価で獲得。また、ひまわり証券の自動売買サービス「エコトレ」にて提供ストラテジーの「ひかえめビーナス」が2013年〜2014年の1年以上にわたり利用者数1位をキープ。利用者数は700名を超える。現在は、MultiAgentをさらに進化させたドリームエージェントFXを提供中。
この連載では、FXの自動売買システム、その中でもMetaTrader4(以下MT4)上で稼働する自動売買システムであるEAにスポットを当て、それを運用していくための知識・ノウハウを専業トレーダーの柿澤真正さんにナビゲートしていただきます。EAの運用を検討している方はもちろん、既にEAを利用している方もぜひ参考にしてください。
※この記事は、FX攻略.com2019年9月号の記事を転載・再編集したものです。本文で書かれている相場情報は現在の相場とは異なりますのでご注意ください。
バックテストの設定を一括化する便利な方法
皆さん、こんにちは。過去4回の連載では、バックテストの仕方からその結果を評価する方法までを見てきました。バックテストを行うためには、各種パラメーターの設定値が確定していることが前提となりますが、一つずつパラメーターを変更しながらより最適なトレード結果を探していくのは大変ですよね?
そんなときに威力を発揮するのが、MT4のストラテジーテスターに標準搭載されている「最適化」機能です。この機能を利用し、「設定値を変更したいパラメーター項目」「設定値の範囲」「設定値の変更幅」を指定すれば、各値の組み合わせでのバックテストを一括で実行、結果を表示してくれます。それでは、まず最適化を行うための設定方法から見ていきましょう。
最適化を駆使して煩雑な作業を簡略化
まずはMT4のストラテジーテスターを開き、右側にある「エキスパート設定」ボタンを押し、出てきた画面の「パラメーターの入力」をクリックします(画像①)。そうすると、バックテスト時にも使用するパラメーター変更の画面が表示されます。パラメーター変更の画面が表示されたら、画像②のa~dの各項目を入力していきます。複数の値を試したいパラメーターのチェックボックスにチェックを入れます(画像②a)。
その後、試したい値の範囲を「始まりの値(画像②b)」「いくつずつ値を増やしていくか(画像②c)」「終わりの値(画像②d)」という形で設定します。今回は説明のため一つの項目のみ設定していますが、複数のパラメーターを設定することも可能です。この設定が完了したら「OK」ボタンを押します。最後に最適化のチェックボックスにチェックを入れれば、最適化の設定は完了です(画像③)。
あとは、通常のバックテスト通りに通貨ペアや時間足などを設定して「スタート」ボタンを押すと、複数の値を自動的にバックテストしてくれる最適化モードでのバックテストが実行されます。テストが完了すると、通常のバックテスト実行時にはなかった「最適化結果」というタブが表示されるはずなので、そちらを開いてみてください(画像④)。タブには、各設定値でのバックテスト結果が表示されます。
このページで、最適化結果の一覧を見ることができるので、「損益」や「プロフィットファクター」「ドローダウン」などを評価しましょう。気になるものがあれば、一覧をダブルクリックすることで、その設定値がパラメーター値としてセットされます。そこで再度スタートボタンを押すと、気になる設定値でのバックテストを実行することができます。
このように最適化を行い、最適化結果の一覧表示でざっくりと評価した上で、気になるものを再度バックテストして損益曲線などの詳細を確認できます。手動で一つずつ行っていくと非常に時間のかかる煩雑な作業を簡単にこなせるわけです。
リアルの運用とは差が出ることを考慮する
ここまで複数回にわたって説明してきたように、MT4のストラテジーテスターを使ったバックテストや最適化は非常に便利です。しかし、使いこなしていくうちにバックテスト本来の特性を見失いがちになります。バックテストはあくまでも「過去の相場データを用いたシミュレーションであり、実際の相場環境での結果ではない」ということを、常に念頭に置いていただければと思います。
バックテストで最も小さいデータは1分足となります。ただ、実際の相場ではその1分間の間に、いろいろな値動きをしています。仮に1分足のローソク足が全く同じ形状をしていたとしても、相場の動きは異なります。
その他にも、バックテストとリアル運用の差が出る要因はさまざまです。バックテストの結果はあくまで参考値であるということを理解した上で、最大限に利用いただければと思います。くれぐれも、バックテスト作業に傾倒しすぎて、そこで最大限の数字を出すことだけにとらわれないようにしてください。