このブログではFXにおける検証の大切さを何度も伝えていますが、今回は私が実践しているMT4での検証方法について解説していきます。
- FXの検証はMT4でも検証ツールでも出来る
- MT4での検証プロセスをステップごとに解説
- MT4で検証するときの注意点
- MT4で検証したいトレーダーにオススメの本やサイト
FX歴3年目の渚です!
トレードスタイルは検証重視のメカニカルトレードで、MQL4のプログラミングやTradeTrainerを利用して、検証を行っています。
普段のトレードではAxioryを使用し、自身で開発した手法により4ヶ月で資金を30万円から150万円までに増やすことに成功したこともあります。
その時の記事もあるのでぜひ読んでください
現在はFintokeiにて資金5,000万円でトレード中・・・・
FXの検証はMT4でも検証ツールでも出来る
僕は今までFT5という検証ツールを用いてFX手法の検証を行ってきました。
FT5自体はとても優秀な検証ツールであり、今後とも重宝していきたい代物ですが、手動で検証を行わなければならないという難点があります。
実際、僕が最初のトレーダー手法を作り出すのには半年以上がかかっており、大きな原因の一つとして、数百ものトレードサンプルを1回ずつ注文を行ないながら集める必要があることが挙げられます。
その点、MT4での検証作業はロジックさえプログラミングで組んでしまえば、あとは「スタート」ボタンを押すだけで、勝手に行ってくれます。
また、検証データの収集という面でもMT4は優秀で、視覚的に確認しておきたい「資産曲線」や、データとして確認したい勝率やプロフィットファクターなどの重要指標を提示してくれます。
ただ、プログラミングをしなければならないという絶対的なハードルが存在することは認めなければなりません。
MT4での検証プロセスをステップごとに解説
では、実際にMT4で検証をおこなうプロセスをステップごとに解説していきます。
- ヒストリカルデータをダウンロードする
- MQL4でプログラミングする
- ストラテジーテスターで検証の設定を行う
- スタートを押して結果を確認する
ヒストリカルデータをダウンロードする
まずはヒストリカルデータをダウンロードしましょう。MT4での検証にはヒストリカルデータ、つまり過去データの存在が必要不可欠です。
ヒストリカルデータはFXDDなどの海外FX業者でダウンロードできるほか、TickData Suiteなどのデータを販売している会社で購入することができます。
ちなみに僕は、今後も使用する可能性の高いAxioryからダウンロードを行っています。試しに、Axioryでヒストリカルデータを取得する方法を見てみましょう。
≫https://www.axiory.com/jp/trading-tools/historical-data
こちらのリンクからAxioryの公式サイトのリンクにアクセスすると、ヒストリカルデータのダウンロード画面に飛べます。
Axioryでは希望するアカウントタイプのヒストリカルデータをダウンロードできます。僕は、なるべく悲観的な相場環境での検証を希望しているので、あえてスプレッドの広いスタンダード口座を選んでいます。
「希望する通貨ペア」の「希望する年」のダウンロードボタンをクリックすると、パソコンへのダウンロードが開始されます。
Zipファイルを展開したら、次にMT4にヒストリカルデータをインポートする必要があります。
MT4を開いたら、「ツール」→「ヒストリーセンター」の順にクリックしていきます。
先ほどAUDCADをダウンロードしたので、ヒストリーセンターのAUDCADを探して1分足をクリックします。
次に先ほど展開した「AUDCAD」のファイルから「AUDCAD_2015_all.csv」をクリックして、「開く」をクリックします。
選択したヒストリカルデータが羅列されていることを確認したら、「OK」をクリックしてインポートを完了します。
このように、先ほどのデータが表示されていればヒストリカルデータを正常に取り込めています。また、Axioryのヒストリカルデータはすべて1分足なので、それ以上の足は独自で生成する必要があります。
そこで使うのが、「period_converter_ALL」です。このスクリプトを1分足のヒストリカルデータに適用することで、すべての足を自動生成してくれます。
スクリプトを適用すると、以上の画像のように計算が行われます。
スクリプトが終了すると、無事他の足でもヒストリカルデータの表示が可能になります。
MQL4でプログラミングする
テストする期間のヒストリカルデータのダウンロードが完了したら、いよいよEAのプログラミングを開始します。
すでにゴゴジャンなどでEAを購入している場合は、このステップはすっ飛ばしてもらって大丈夫です。
MT4で上にあるメモ帳のようなボタンをクリックすると、MetaEditorというMQL4専用のエディターに移動できます。
EAのプログラミングにはMQL4という独自のプログラミング言語を使用します。
これがMQL4のエディター画面です。コンパイルを行って、エラーがないようであれば、MT4に戻って、EAをバックテストにかける準備が整いました。
ストラテジーテスターで検証の設定を行う
エディターでのコンパイルが終了したら、MT4の「表示」から「ストラテジーテスター」をクリックします。
すると、EAの検証をヒストリカルデータで行うための設定を行えるようになります。
EAの選択/通貨ペア
まずは①のセクションについてですが、「エキスパートアドバイザー」を選択し、コンパイルしたEAを選択します。
今回は、MT4内にデフォルトで保存されている移動平均線のEAを選択しました。
②のセクションでは通貨ペアを選ぶことができますが、ヒストリカルデータを外部からダウンロードしていない場合は、MT4内にデフォルトとして保存されている直近のデータしか使えません。
僕の場合は、すでにダウンロード済みであるEURUSDの2015~2016年のヒストリカルデータで検証を行いたいので、EURUSDを選択しました。
また、EAをどの時間足で適用したいかも選択することができます。EAによっては、プログラム内で時間足が指定されていることがあるので、その場合は指定された時間足を選択してください。
モデル/期間設定/最適化/ビジュアルモード
③の「モデル」とは、EAのバックテストの品質のことです。
モデル | 信頼性 | 速さ |
---|---|---|
始値のみ | × | ◎ |
コントロールポイント | △ | 〇 |
全ティック | ◎ | × |
モデルは以上の3つから選ぶことができ、それぞれ「信頼性」とバックテストの「速さ」に違いがあります。
EAの動作確認などの段階では、「始値のみ」や「コントロールポイント」などを使って、スピーディーに検証を行い、最終的な評価段階で全ティックを使うことをオススメします。
④のセクションでは、「期間を指定」を押してバックテストの「開始日」と「終了日」の指定を行うことができます。
「最適化」にチェックを入れると、入力パラメータの最適化を自動で行ってくれます。
上の画像は、移動平均線EAを移動平均線の期間について最適化を行った際のレポートです。レポートによると、2015年1月2日~2016年12月29日の5分足ではMAの期間が163にすれば、最も成績が高かったということが分かりました。
ビジュアルモードとは、バックテスト中の売買の状況をチャート上で再現してくれるバックテストモードのことです。
EAが自分の希望する場所でトレードを行っているかを視覚的に確認したい場合は、ビジュアルモードを使うとよいでしょう。
スタートを押して結果を確認する
バックテストの設定が終わったら、「スタート」を押します。
「結果」をクリックすると、執行された注文の履歴を確認できます。損益を数値的に確認したい場合や、意図せずに連続して注文が入ってしまっていないかを確認したい場合は、こちらを見るようにしましょう。
「グラフ」では視覚的に資産曲線を確認できます。検証では視覚的にみて、資産曲線が許容可能であるかを確かめることも重要です。
MT4で検証するときの注意点
MT4で検証を行う際に注意しなければならない点がいくつかあります。
- 過剰最適化にならないようにする
- ヒストリカルデータは実際に使用する業者のものを使う
過剰最適化にならないようにする
MT4に限った話ではありませんが、トレード手法の検証を行った際には、過剰最適化に陥ってしまわないようにしましょう。
MT4では最適化を自動で行ってくれる機能がありますが、そこで算出された最良のパラメータを実際のトレードで使用しても、大した成績を上げることはできません。
それは、検証を行った期間における最適値であって、将来的な最適値であるとは限らないからです。
トレード手法の検証においては、いかに過剰最適化を避けながら最良のEAを開発するかが、一番難しいところであり、一番やりがいを感じるところです。
過剰最適化を避ける方法として、「ウォークフォワード分析」というものがありますが、これについては別の機会にまた解説します。
ヒストリカルデータは実際に使用する業者のものを使う
ヒストリカルデータは様々なFX業者からダウンロードすることができますが、なるべく自分が実際に使う業者が提供しているヒストリカルデータを使うようにしましょう。
株式取引とは違って、FXでは業者によって配信しているレートが異なるので、バックテストにリアルトレードと異なる業者を使ってしまうと、正確なデータを取得することができません。
ただし、リアルトレードを行いたい業者が必ずしも、ヒストリカルデータを提供しているとは限らないという難点があります。
現状では、僕が使っているAxioryがヒストリカルデータを2015年から提供している上に、トレーダーからの人気も高いFX業者なので、オススメです。
MT4で検証を行いたいトレーダーにオススメの本やサイト
ここまでの話をしていくうえで、私が参考にしたオススメの本やサイトを最後に紹介していきます。
【オススメの本】
【オススメのサイト】
まとめ
ここまで、MT4でFXの検証を行う方法について解説してきました。重要な点を改めて確認しておきましょう。
- MQL4さえプログラミングできれば、MT4は詳細で正確かつ迅速な検証が可能となる
- MT4の最適化機能は便利だが、過剰最適化は将来的な利益にはつながらないので注意
- 検証の制度を高めるためにも、ヒストリカルデータはリアルトレードを行う業者のものを使う