バックテストとは?MT4でEAのバックテストや最適化を行う方法

MT4・MT5

この記事ではバックテストとは?とさらにMT4 EA(MT4上で動く自動売買ソフト)をバックテストする方法について解説します。

バックテストは奥が深く、精密性や(バックテストにおけるEAの)堅牢性などを語るとキリがありませんのでできるだけ初心者向けに簡単に説明します。

だだし、一般的な意見とは違う私見も含まれているため、それ以外の方も参考になるかもしれません。

バックテストとは

トレードする際に各人いろいろなルールでもってトレードするかと思います。
移動平均線がゴールデンクロスしたら買い、ボリンジャーバンドを下に突き抜けたら売りなど、です。

このルールを過去のチャートに当てはめてどのような取引を行い、勝率、損益、一トレードあたりの平均利益などの成績を確かめる作業のことを言います。

EAの売買ルールもMT4の「ストラテジーテスター」というツールで過去のでチャートを用いてバックテストすることができます。

そしてEAが過去にも結果を出しているなら将来に渡って良い結果を出す可能性はあります。
ここでの「出す可能性」というのはバックテストで良い結果が出ても実際の取引では出ないこともあるわけです、というか多いです。

しかし過去に結果がでない売買ルールであれば、未来に渡ってもそのルールで結果が出る可能性は低いでしょう。

バックテストの目的はこのような過去にも結果が出ない売買ルール(EA)をふるいにかけて、将来、結果が出そうな売買ルール(EA)を選別することにあるわけです。

EAを取引に採用する簡略的な流れは、バックテストを行ったあと、EAでデモトレードを行い、良さそうであれば実際の取引で少額で試す流れです。

MT4 EAをバックテストする方法

MT4の上部、表示>ストラテジーテスターを開きます。

このストラテジーテスターを使ってバックテストを行います。

EAをバックテストする方法を動画で解説

ストラテジーテスターの設定項目解説

  1. バックテストを行いたいEA(エキスパート・アドバイザ)を選択します。
  2. バックテストを行いたい通貨ペアを選びます。
  3. 「始値のみ」は各足の始値のみのデータを使います。結果が出るまで高速なので、簡単な確認や動作確認用に使うといいでしょう。
    「全ティック」はすべての(ティック)データを使います。結果出るのに時間がかかりますが、信頼性が一番高い結果はこちらです。
    「コントロールポイント」は4で設定する時間足のひとつ下の時間足まで使用します。
    こちらは使うことはないと思います。
  4. バックテストを行いたい時間足を選びます。
  5. バックテストを行うFX会社の通貨のスプレッドを記入してください。
  6. チェックを入れるとバックテストを行う期間をこの右の「開始日」と「終了日」にて指定できます。最低1年以上~とできるだけ長いほうがバックテストの結果の信頼性が高まります。
  7. EAのパラメーターの設定を行います。(後述 )
  8. 7でEAのパラメーター設定を行ったらスタート押して、バックテストが始まります。

エキスパート設定項目解説

・テスト設定

  1. バックテストで使う資金を指定できます。
    右の通貨を選ぶ欄にはJPY(円)はないのでキーボードで「JPY」と打ってください。
    ポジションは買いのみか売りのみかを制限することができます。
  2. 最適化の設定です。後述。

・パラメーターの入力

EAのパラメータの入力になります。
この部分はEAによって違うので、EAに付属しているマニュアルなどをご覧いただくしかありません。

通常最適化をせずにバックテストだけを行う場合は「値」のみをそれぞれ設定します。

「MACD Sample」パラメータ

今回はMT4付属の「MACD Sample」を使っているので念の為、各パラメータを説明します。

TakeProfit利確(単位はポイント)
Lots取引ロット
TrailingStop0以上であればトレーリングしていく(単位はポイント)
MACDOpenLevelエントリー時にMACDの絶対値がこの数値以上あることを条件にする(単位はポイント)
MACDCloseLevelクローズ時にMACDの絶対値がこの数値以上あることを条件にする(単位はポイント)
MATrendPeriodEMAの期間

以上を設定してOKを押します。

MT4 ストラテジーテスターの結果の見方

ストラテジーテスターにてスタートを押したあとこのようにバーが満たされるとバックテスト完了です。

レポートの見方

クリックで拡大

レポートタブを押すと結果が現れます。項目はいろいろありますが、重要なところだけ説明します。

・純益

過去トレードした場合、儲かったかどうか見るところです。
この欄の右の、「総利益」 – 「総損失」 = 純益になります。

・プロフィットファクター

総利益が総損失の何倍かを表す数値です。
例:総利益100万 ÷ 総損失70万 = 1.42

総トレードで負け越していれば1.0以下になります。
しかし1.1や1.2などであってもランダムでトレードしても出る可能性のある値なので、
ここが低いと偶然結果が出たことを疑ったほうがいいでしょう。

一般的にこの値は重要とは言われていますが、実際のところはそこまで重要でなく、
利益が出るか? もしくは偶然出た値か?ぐらいをぱっと見れる値として捉えたほうがいいでしょう。

・総取引数

ここは多いければ多いほどバックテストの信憑性が高まりますので重要です。
さらに言えば、統計的にも最低で30回~100回は欲しいです。
理想は100回より、より多く欲しいところです。

・期待利得(期待値)

このEAで取引した場合、一回当たりに見込める利益を表したものになります。
まずここがスプレッドよりも大きくないとスプレッド負けしてしまう可能性があります。

・最大ドローダウン

最も資産の増えた時から最も資産が減じた点の下落額になります。

簡易的にロットを決めるのであれば、最大ドローダウンからロットを決めます。

もし最大ドローダウンが資金の50%で許容できる損失が30%であれば、
バックテストで設定したロットの5分の3にするなどしてロット調整します。
(上級なシステムトレーダーの方であればこのロットの決め方はおおいに突っ込むところかもしれませんが……)

グラフの見方

過去のデータでトレードした場合、口座残高の履歴をグラフで表したものです。

利益が出ているのであれば、右肩上がりになります。

このグラフでいちおう右肩上がりにはなっていますが、バックテスト期間中間にて大きく残高が下がり、一度元本割れしているが見て取れます。

優秀なEAであればグラフが右肩上がりなことはもちろんのこと、ぶれなく一直線になっているものです。

上記のようなグラフのEAであれば大きく下がる前に利益が出ているからといってロットを上げてしまい、その後の大きな残高の下落がさらに大きくなる可能性があります。

このように損益のばらつきぐらい(標準偏差)も重要で、これが小さければ小さいほどロット上げても、その後に大きく損失を被るといった可能性は低くなります。

EAの最適化についてとそのやり方

EAの最適化とは

いわゆるEAの「最適化」とは、端的に言うとEAの一番いいパラメーターを見つけることをを言います。

例えば上で取り上げてるMACDのパラメーターの一つには「EMAの期間」があります。
このEMAの期間の違いによって良い成績の期間もあれば悪い成績の期間もあるかもしれません。

EAの最適化ではEMAの期間のパラメーターやその他パラメーターをいろいろな数値で試して一番よい結果を取り出します。
そしてこれをストラテジーテスターでは自動で行うことができます。

ストレージーテスターでEAを最適化する方法

・パラメーターの設定

1.まずエキスパート設定で設定するので開きます。
2.最適化したいパラメーターにチェックを入れます。
複数のパラメーターを最適化できます。
3.スタート、ステップ、ストップを入れます。
例えば、上の画像のMATrendPeriodだとパラメータが3から始まり、6,9, 12と30まで3刻みで
合計10個パラメーターをストレージテスターが試します。
さらにMACDCloseLevelもチェックを入れているので、MACDCloseLevelのパラメーター1,2,3,4,5,6の6個が試されます。

そしてこの10個のパラメーターと6個のパラメーターをテスターがいろいろ変えて一番いい最適な値が提示されます。
ですので10×6=60回バックテストが行われます。

このパラメーターの組み合わせが多いと最適化に時間がかかるので、スタート、ストップ、ステップを変更して組み合わせを小さくしたりしましょう。

・テスト設定

次はテスト設定のタブを開きます。

最適化パラメータ:どの数値を最適化によって最大化するか決めます。
初期はBalance(口座残高)を最大化するよう設定されています。
おすすめはExpected Payoff(期待利益、総純損益を総トレード回数で割った値)です。
最適化するパラメータについてもいろいろと議論が分かれる部分ですが、とりあえず最初は期待利益を最大化すればいいかなと思います。

遺伝的アルゴリズム:ここにチェックを入れると入れないよりも早く終わりますが、厳密な最適なパラメータはチェックを入れない(総当り)よりも出ないです。
パラメーターの組み合わせが多い場合は入れてください。

設定し終わったらOKを押します。

エキスパート設定がすべて終わったら、バックテストと同じように通貨、足の期間、テストする期間を設定して最適化にチェック、スタートを押すと最適化が始まります。

EAの最適化をもっと効率化する方法

いろいろな通貨、いろいろなローソク足でバックテストやEAの最適化をするには都度通貨と時間足を変更する必要があるので骨が折れる作業です。

ですので、これを効率化するソフト「MT4バッチプロセッサー(MT4BP)」というのもあります。

私管理人もこれを使っており、複数通貨ペア・時間足を事前に設定すると複数通貨ペア・時間足のバックテストや最適化を自動化してくれるのでおすすめです

国内FXに勝る海外FXの特徴を詳細解説! FX会社も比較。

海外FXは国内FXよりもチャンスは多くあり、借金の心配も必要ありません!
海外FXをやったことない方、また初心者向けに海外FXとはどのようなものか解説しています。

おすすめの海外FXを表も用いて比較・解説。
海外FX会社を探してる方にも有用な内容を掲載しています。

MT4・MT5 システムトレード 初心者向け
おすすめ海外FX会社ランキング
XM(エックスエム)

XMは出金拒否や約定拒否などのトラブルもなく、人気No.1のFX会社です。
XMの主な特徴はレバレッジ・ボーナス・約定力。
レバレッジ888倍と口座開設のみで3000円分取引できるボーナス、全注文の99.35%は1秒以内で約定。
ゼロカットもあり、海外FX初心者がまず開く口座としてもうってつけです。
これらの強力な特徴により国内FXのトレーダーより一歩先んじることができます。
口座開設方法

AXIORY(アキシオリー)

こちらも強力な約定力・さらに極小スプレッドも実現している会社です。
公正な運営・最新取引ソフト「cTrader」対応(もちろんMT4も)という特徴もあり人気を集めています。
レバレッジは400倍、スキャルピングの制限もなく、スキャルパーにも注目されています。
安心して取引ができるおすすめの会社です。
さらに7/1~7/20まで最大3万円もらえるキャンペーン実施中!
口座開設方法

GEMFOREX(ゲムフォレックス)

入金しなくても2万円分取引できる口座開設キャンペーンをよく行っています。
しかも出た利益は自分のものになります。
スプレッドは国内FX業者と同レベルの極小スプレッド、レバレッジは1000倍のおすすめの取引会社です。
口座開設方法

FBS

FBSは最大3000倍のレバレッジと100ドル(約1万円)未入金ボーナス、さらに出金もできるボーナスやキャシュバックなど
他の会社には全くない特徴を兼ね備えていた海外FX会社です。
もちろんこのような特異な特徴をもちながらNDDやゼロカットなどの海外FXの基本的なスペックも兼ね備えており、
スキャルピングなどの取引制限もありません。
最初は入金せずに1万円分の取引が楽しめるので気になった方はまず触ってみることをおすすめします。
口座開設方法

fxブログ | シストレで複業でも勝ち組に!

コメント