MT4でEAのバックテストをする方法 | FX情報商材レビュー評価 実践検証ブログ ☆禁断の世界☆

学習の進め方

  • FX初心者の学習の進め方を確認する

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

MT4EAのバックテストをする方法に
ついてお話ししますね。

バックテストとは、過去相場でEAがどの
ようなパフォーマンスを発揮したのか
検証することです。

 

 

にゃんこのパフォーマンス見てみたいなぁ。
きっと凄く面白いんだろうなぁ。

MT4_indicator

にゃんこ「無茶振りにゃ^^;ハードル上げちゃだめにゃ!」

 

 

MT4でEAのバックテストをするには、
ヒストリーデータ(過去チャートのデータ)
が必要ですので、まだ用意できていない方は
MT4でヒストリーデータを取得する方法
を先に見てくださいね。

また、MT4でEAのバックテストをする
には、MT4の「experts」フォルダにEAの
「〇〇〇.ex4」ファイルを設置することも
必要です。準備ができていない方は、
MT4でEAを動かす方法を確認してください。

【今日の目次】
 (1) バックテストの設定
 (2) MT4でEAのバックテスト(通常)
 (3) MT4でEAのバックテスト(最適化)
 (4) まとめ

(1) バックテストの設定

MT4ツールバーの「Strategy Tester」ボタン
をクリックします。

MT4_backtest

すると、MT4の下部に「テスター」ウィンドウ
が表示されます。

MT4の下部の「テスター」ウィンドウに表示
された各項目を解説します。

MT4_backtest30

◆ エキスパートアドバイザー or 罫線分析ツール

  EAをバックテストしたい場合は「エキスパートアドバイザー」
  インジケーターをバックテストしたい場合は「罫線分析ツール」
  を選択し、右側でバックテストしたいEAまたはインジケーター
  を選択します。

◆ 通貨ペア

  バックテストしたい通貨ペアを選択します。

◆ 期間

  バックテストしたい時間足を選択します。

◆ モデル

  バックテストの精度を選択します。

  【全ティック(Every tick)】

  最も小さい時間足の値動きデータを使って、
  最も正確な精度でバックテストします
  (精度を最大にするには1分足のヒストリー
  データが必要です)。

  【コントロールポイント(Control points)】

  バックテストしたい時間足より小さい
  時間足を使って、1本のローソク足に
  つき12個のControl pointを作り、
  中間の精度でテストします
  (M30ならM15以下のヒストリーデータ
  が必要です)。

  【始値のみ(Open Prices Only)】

  バックテストしたい時間足の始値のみ
  を使って、最も速くテストします。
  (EAのロジックによりどのモデルがどの程度
  の精度になるかは変わります。精度を最大に
  するには1分足を用意して全ティック
 (Every tick)を選びましょう)

◆ スプレッド

  バックテスト時に適用するスプレッドを
  決めます。

  「現在値、2、5、10、30、50、100」
  の選択肢がありますが、直接数値を入力
  することもできます。

  現在値はバックテストを開始した瞬間の
  スプレッドが変動せずずっと適用されます。
  土、日の相場が止まっているときは通常
  よりスプレッドが大きくなっているので
  ご注意下さい。

  なお、単位は[1/10 pips]です。
  つまり、例えば13と入力したら、
  13[1/10 pips] = 13 × 1/10 pips = 1.3 pips
  となりますのでお気を付け下さい。

  また、スプレッド以外に取引手数料が
  ある口座では、バックテスト中、取引
  手数料は表示されないものの自動的に
  引かれますので、スプレッドに手数料分
  を上乗せした数値を考える必要はありません。

◆ 最適化(Optimization)

  EAのパラメーターの最適値を調べたい
  場合はチェックします。
  下記のビジュアルモード(Visual mode)
  とは併用できません。

◆ 日付と時間を使用

  チェックをしなければヒストリーデータが
  ある期間すべてがバックテスト対象になり
  ます。
  チェックを入れたなら、差出人(開始日の誤訳)
  と終了日の日付を設定します。

◆ ビジュアルモード(Visual mode)

  チェックを入れると、バックテスト中に
  チャート上で値動きが表示され、経過を
  観察できます(ただし通常より時間が
  かかります)。
  上記の最適化(Optimization)とは
  併用できません。

  チェックを入れると右のメーター上に
  取っ手が現れ、ドラッグすると32段階
  動き、バックテスト中のスピードが
  変えられます。
  スピードはバックテスト中も変えられ
  ます。

  [||]ボタンは、バックテスト中に
  クリックすると、一時停止します。
  もう一度クリックすると再び動き
  出します。

  [スキップ(Skip to)]ボタンは、
  バックテスト中にクリックすると、
  その右で設定した日時に移動します。

◆ エキスパート設定(Expert properties)

  クリックして以下ウィンドウが表示され
  たら、まず「Testing」タブを設定します。

MT4_backtest2

  【Initial deposit】

  バックテスト開始時の口座残高と口座の通貨

  【Positions】

  バックテスト対象を
  「Long & Short」買いと売り両方
  「Long Only」買いのみ
  「Short Only」売りのみ
  の中から選択します。

  【Optimized parameter】

  上述の「最適化(Optimization)」に
  チェックが入っているときに適用されます。

  どのパラメータで最適化するかを選択
  します。

  ・Balance

   口座残高で最適化

  ・Profit Factor

   プロフィットファクター(総利益÷総損失)で最適化

  ・Expected payoff

   期待損益(総損益額÷総トレード数)で最適化

  ・Maximal Drawdown

   最大ドローダウン額で最適化

  ・Drawdown Percent

   最大ドローダウン率で最適化

  【Genetic algorithm】

  上述の「最適化(Optimization)」に
  チェックが入っているときに適用されます。

  チェックを入れると、遺伝的アルゴリズム
  という手法で高速最適化します。

  チェックした方がバックテスト時間の短縮
  につながります。

  遺伝的アルゴリズムは、後述のパラメーター
  の入力タブで設定した、パラメーター全ての
  組み合わせでなく、ランダムに選択した
  パラメーターの組み合わせから良い結果を
  抜き出し、それを組み合わせて値を変化
  させることで、効率的に最適化する方法です。

  つづいて、「パラメーターの入力」タブを
  設定します。

MT4_backtest3

  パラメーターは、使うEAによって設定できたり
  できなかったりするので、それぞれのEAの取扱
  説明書でご確認ください。

  Value欄をダブルクリックして設定しましょう。
  通常は、このValue欄の値を用いてバックテスト
  します。

  スタート、ステップ、ストップ欄は、上述の
  「最適化(Optimization)」にチェックが
  入っているときに適用されます。
  そのときは、Value欄は無視されます。

  Variable欄で最適化したい項目をチェック
  して、スタート、ステップ、ストップ欄を
  ダブルクリックして設定します。

  例えばlotsのスタートを0.1、ステップを0.1
  ストップを0.3とした場合、0.1から0.3の間を
  0.1ずつ変化させます。
  つまり、0.1、0.2、0.3でバックテストして
  最適値を探します。

  「Optimization」タブに関しては、いくら
  減ったら停止する、いくら増えたら停止する
  など、バックテストに制限を付けた状態で
  最適化するときに使いますが、特別使うこと
  はないと思います。

  「Optimization」タブの設定も、上述の
  「最適化(Optimization)」にチェック
  が入っているときに適用されます。

  全ての設定が終わったら「OK」ボタンを
  クリックします。

MT4_backtest4

◆ 通貨ペアのプロパティー

  特にクリックする必要はありませんが、
  MT4でスワップを見ることが出来るのは
  ここだけなので一見の価値はあるかも
  しれません。

MT4_backtest5

  好奇心に駆られて思わずクリックして
  しまった方は、「閉じる」ボタンを
  クリックして次に進みましょう。

◆ チャートを開く(Open chart)

  バックテスト前にクリックしても何も
  起きません。
  バックテスト後、売買ポイントをチャート
  上で確認したい場合に使います。

◆ エキスパート編集(Modify expert)

  上述のエキスパートアドバイザー or
  罫線分析ツールで選択したEAやインジ
  ケーターのプログラムを修正したい場合
  にクリックします。

  ただし、mq4形式のファイルがないと
  修正できません。通常販売されている
  EAやインジケーターはex4形式のファイル
  しか提供されませんので、普段は特に
  使うことはないでしょう。

◆ スタート

  クリックするとバックテストを
  スタートします。

(2) MT4でEAのバックテスト(通常)

まずは、通常バージョンの、MT4でEAの
バックテストをする方法を解説します。

MT4下部の「テスター」ウィンドウにある
最適化(Optimization)のチェックが
外れていることを確認します。

バックテストのための設定が完了したら
スタートをクリックします。

MT4_backtest6

バックテスト中はスタートボタンがストップ
ボタンになり、ストップボタン左のメーター
が左から緑色に変わっていきます。

MT4_backtest7

バックテスト中に、結果タブ、Graphタブ、
操作履歴タブをクリックすると、途中経過を
見ることが出来ます。

MT4_backtest8

特にGraphタブは、資産の増減が視覚的に
見やすいので、観察していると、

おおおぉぉぉー!!(ノ*゚▽゚)ノ

おぉ? ・・・(・-・)

おおおぉぉぉー↓↓ _| ̄|○

と楽しめるかもしれません(笑)

レポートタブはバックテスト全体の統計
が表示されますので、バックテストが
終わるまでは見れません。
しばらく待ちましょう。

バックテスト中にセッティングタブの
ストップボタンをクリックすると、
途中で強制終了されます。

MT4_backtest9

自作でEAを作った場合、ロジックが複雑
すぎるとMT4の処理能力を超えてしまい、
メーターが途中から進まなくなることが
ありますので、そんなときに使えます(泣)。

バックテストが終了すると、某人気キャラクター
が早口で鳴くような音がして、メーターが
緑でいっぱいになり、ストップボタンが
スタートボタンに戻ります。

popular_character

MT4_backtest10

え、どこが某人気キャラクターの鳴き声に
聞こえるかですって?
小鳥の鳴き声っぽいですって?

頑張ればそう聞こえるんです。
異論は認めません(キリッ)

バックテストが無事、正常に終了すると同時に
レポートタブに、バックテストの統計情報が
表示されます。

MT4_backtest11

表示された項目を解説します。
この中で、特に重要な項目は★を付けました。

◆ Bars in test

  バックテストしたローソク足数

◆ Tick modeled

  バックテストで使用したティック(値動き)数

★ Modeling quality

  バックテストの精度(最大90%)

  バックテストするEAの種類にもよりますが
  出来得る限り90%を目指すことが望ましい
  です。

  特に短い時間足で取引するEAや、利確損切り
  が細かいEAの場合、精度は重視しましょう。

  長い時間足で取引するEAや、利確損切りが
  広いEAの場合は、そこまで気を使わなく
  ても大丈夫かもしれません。

  バックテストの精度が不安な場合、実際の
  取引とバックテストの結果を同じ期間で
  見比べてみましょう。

  ただし、実際の取引ではスリッページや
  スプレッドの変動があるので、バックテスト
  と完全に一致することはありません。

◆ Mismatched charts errors

  バックテスト対象時間足とバックテスト
  で使用したより小さい時間足との不一致
  エラー数。

◆ Initial deposit

  バックテスト開始時の口座残高

◆ Total net profit

  総損益額
  (バックテスト終了時口座残高-開始時口座残高)

◆ Gross profit

  利益額(利益が出た取引の合計値)

◆ Gross loss

  損失額(損失が出た取引の合計値)

★ Profit factor

  プロフィットファクター
  (Gross profit/Gross loss)

  プロフィットファクターが高ければ利益率
  が高く、高レバレッジでも耐えられます。

  勝率が高くてもプロフィットファクターが
  低いと問題ですが、勝率が低くても
  プロフィットファクターが高ければOKです。

◆ Expected payoff

  1トレードあたりの期待損益
  (Total net profit/Total trades)

◆ Absolute drawdown

  バックテスト開始時の口座残高からの
  最大ドローダウン
  (Initial deposit - 最小時口座残高)

◆ Maximal drawdown

  最大ドローダウン(ピーク時の口座残高から
  谷までのドローダウンの最大額と割合)

★ Relative drawdown

  相対ドローダウン(ピーク時の口座残高から
  谷までのドローダウンの最大比率と金額)

  例えば相対ドローダウンが20%ならば、
  ピーク時の口座残高から20%減ったこと
  があったということです。

  ドローダウンが大きすぎて精神的に許容
  できない場合はロットを落としてみま
  しょう。

  少なくともこの相対ドローダウンまで
  耐えられないというのであれば、リアル
  運用は避けた方がいいです。

★ Total trades

  総取引数(ポジション保有から決済までが1回)

  取引回数が多いほど信頼性の高いデータ
  となります。
  総取引数をバックテストの期間で割れば
  取引頻度が算出されます。

◆ Short positions(won %)

  売り取引数(勝率)

◆ Long positions(won %)

  買い取引数(勝率)

◆ Profit trades(% of total)

  勝ち取引数(割合)

◆ Loss trades(% of total)

  負け取引数(割合)

◆ Largest profit trade

  1取引あたりの最大利益額

◆ Largest loss trade

  1取引あたりの最大損失額

◆ Average profit trade

  勝った取引の平均利益額

◆ Average loss trade

  負けた取引の平均損失額

◆ Maximum consecutive wins

  最大連続勝ち取引数(利益額)

◆ Maximum consecutive losses

  最大連続負け取引数(損失額)

◆ Maximal consecutive profit

  最大連続利益額(勝ち取引数)

◆ Maximal consecutive loss

  最大連続損失額(負け取引数)

◆ Average consecutive wins

  平均連続勝ち取引数

◆ Average consecutive loss

  平均連続負け取引数

Graphタブをクリックしましょう。
青色の折れ線グラフは資産推移を示して
います。
右肩上がりが理想ですね。

青色折れ線グラフの下、緑の棒グラフは
取引ロット数の変化を示しています。
バックテスト中、ロット数が変化しない
EAの場合は表示されません。

MT4_backtest12

ちなみに、横軸は時間ではなく取引回数
です。
縦軸は最小値から最大値がグラフいっぱい
に入るようになっているので、角度はあまり
気にしなくて良いです。

折れ線グラフや棒グラフにカーソルを
合わせると取引詳細が表示されます。

MT4_backtest13

MT4_backtest14

結果タブをクリックしましょう。
ここにはバックテストした個々の取引の
詳細が表示されています。
1行につき1種類の注文(新規注文、指値・
逆指値注文、注文の変更、決済注文)が
表示されます。

MT4_backtest15

セッティングタブに戻り、チャートを開く
(Open Chart)をクリックすると、
バックテストの売買ポイントがチャート
上で確認できます。

MT4_backtest16

MT4_backtest17

チャート上の取引にカーソルを合わせると
詳細が見られます。

また、結果タブで表示された注文をダブル
クリックすると、チャートの左端にその
注文が表示されます。

MT4_backtest18

バックテストの結果は、MT4を閉じると消え
ます。

バックテストの結果を保存したい場合は
レポートタブ画面内で右クリックして、
レポートの保存をクリックしてください。

MT4_backtest19

「名前を付けて保存」ウィンドウが現れ
ます。
保存したいフォルダを選んで、お好きな
ファイル名を付けて保存しましょう。

MT4_backtest20

バックテスト結果がhtml形式で保存され、
自動で保存内容が立ち上げられます。

MT4_backtest21

(3) MT4でEAのバックテスト(最適化)

つづいて、MT4でEAのバックテストを
最適化して実行する方法をお伝えします。

MT4下部の「テスター」ウィンドウにある
最適化(Optimization)のチェックが
付いていることを確認します。

バックテスト最適化のための設定が完了
したらスタートをクリックします。

MT4_backtest22

バックテスト中はスタートボタンがストップ
ボタンになり、ストップボタン左のメーター
が左から緑色に変わっていきます。

MT4_backtest23

バックテストが終了すると、やはり某人気
キャラクターが早口で鳴くような音がして、
メーターが緑でいっぱいになり、ストップ
ボタンがスタートボタンに戻ります。

popular_character

MT4_backtest24

え、やっぱり某人気キャラクターの鳴き声に
は聞こえないですって?

きっと心のきれいな人にしか聞こえないん
ですよ(棒読み)。

バックテストの最適化が終わると、今まで
なかったタブ「Optimization Results」
「Optimization Graph」が出現します。

「Optimization Results」タブには、最適化
の詳細が表示されます。

MT4_backtest25

パラメーターの入力という項目には、最適化
された数値が表示されています。
左側の損益、Total Trades、Protit factor、
Expected Payoff、Drawdoun $、Drawdown %、
を見比べて最適なパラメーターを決めましょう。

「Optimization Graph」タブは、「Optimization
Results」タブにあるPassナンバーを横軸に、
バックテスト前に設定した

Expert properties → Testingタブ
→ Optimized parameterで選んだ項目

を縦軸にしたグラフで表されています。
(画面を縮小している関係でPassナンバーの
位置が少々ずれています)

MT4_backtest26

最適なパラメーターを決める参考に
してください。

このように、バックテストの最適化機能
を使うと、1つずつパラメーターをいじり
ながらバックテストするより、一気に作業
を短縮できます。

しかし、最適化のやり過ぎは禁物です。
やり過ぎるとカーブフィッティングになり、
昔の特定の相場でしか機能しなくなって
しまいます。

バックテストの最適化は、あくまで数値を
相場にあわせる操作です。
それをよく理解した上で利用しましょう。
結果を分析して、活用してみてください。

バックテスト最適化の結果は、MT4を閉じる
と消えます。

バックテスト最適化の結果を保存したい
場合は「Optimization Results」タブ画面内
で右クリックして、レポートの保存をクリック
してください。

MT4_backtest27

「名前を付けて保存」ウィンドウが現れ
ます。
保存したいフォルダを選んで、お好きな
ファイル名を付けて保存しましょう。

MT4_backtest28

バックテスト最適化の結果がhtml形式で
保存され、自動で保存内容が立ち上げられ
ます。

MT4_backtest29

(4) まとめ

【MT4でEAのバックテストをする方法】

◆ バックテストする前にヒストリーデータ
  とEAのインストールが必要です。

◆ バックテストはStrategy Testerで設定
  して行います。

◆ バックテストの結果で特に重要なのは
  「バックテストの精度」
  「プロフィットファクター」
  「相対ドローダウン」
  「総取引数」

◆ バックテストの最適化を上手く使って
  効率よく最適なパラメーターを見つけよう。

◆ バックテスト終了音が某人気キャラクター
  の鳴き声に聞こえる人は心がきれいだよ。

 

 

P.S.
1分18秒~1分28秒が秀逸でした(笑)


もっと詳しく知りたい事や
理解できなかった事などございましたらお気軽にご連絡下さい。

お問い合わせはこちらからどうぞ

あなたの応援のおかげで明日も頑張って記事が書けます
本日のランキング応援クリックありがとうございました(*'-'*)

にほんブログ村 為替ブログ FX初心者向けアドバイスへ
  • RSSを購読する

次の記事 »
前の記事 »
トップページへ » FX情報商材レビュー評価 実践検証ブログ ☆禁断の世界☆

この記事のコメント

[...] あとは、MT4でEAのバックテストをする方法で 通常通りバックテストしましょう。 [...]
[...] MT4でEAのバックテストをする方法  (1)バックテストの設定   ◆ Expert [...]

この記事へのコメント

あなたの応援のおかげで明日も頑張って記事が書けます
本日のランキング応援クリックありがとうございました(*'-'*)

にほんブログ村 為替ブログ FX初心者向けアドバイスへ

メルマガ禁断の世界 FX初心者が30年で10万を
1億にするための入門講座


FX(外国為替証拠金取引)初心者が30年間
で10万円を1億円にするためのノウハウを
公開中♪

FXはしょせんギャンブル??? FXはごく一部の選ばれた人間しか勝てない???
そんなことはありません!!!

FXで資産を増やすために必要なのは多少の投資とやる気だけです(・∀・)9
あなたもFXでいっぱい資産を増やして自由な暮らしと安心な老後を手に入れませんか?

ネコの眼

メルマガをご登録頂いた方、限定で無料プレゼント

今ならメルマガをご登録頂いた方にもれなく、口座状況
の途中経過 確認ツール「ネコの眼」(MT4で動作
するEA)を無料プレゼントさせて頂きます。

ネコの眼を活用すると、ポジションを持っている間、
ローソク足が切り替わったタイミング(始値)で
定期的にメールやアラートにより口座状況の確認
ができます。

サインツールやFX自動売買(EA)を使ったトレード、
裁量トレードを行っている際、口座状況の途中経過が
ついつい気になってしまわれる貴方の不安を和らげる
ためにお役に立てましたら幸いです。

※ 無料プレゼントはご登録頂いたメールアドレスに
お届けしますのでお時間のある際にご確認下さいね。

メルマガ登録はこちら

FX情報商材レビュー評価 実践検証ブログ ☆禁断の世界☆ TOP » Meta Trader 4 » MT4でEAのバックテストをする方法