FX自動売買ジェネレーター
トップ > MT4 EA ガイド > コラム Strategy Tester 編

コラム Strategy Tester 編

ダウンロードしたEAの Strategy Tester を使った検証方法

EAを入手できたら、さっそく使ってみたくなるのが心情だと思いますが、EAの挙動を把握せずに、いきなりトレードに使用するのは大変に危険です。 まずは、Strategy Testerを使ってバックテストを行うことをお勧めします。

バックテストとは、MetaTraderの特徴的な機能の1つで、過去の値動きにEAのロジックを当てはめ、どんな成果を挙げることができるかを検証する作業です。 過去の値動きとはいえ、実際に起こったレートの変動に当てはめてみれば、EAの実力はおおむね判断できるのです。

まずは、入手したEAをMetaTraderに保存します。 MetaTrader 4をインストールしたフォルダの中の「experts」のフォルダ内にEAを格納しておきましょう。 これでMetaTraderを起動したとき、入手したEAを利用することができます。

次にMetaTraderを起動し、画面左上の「表示」から「Strategy Tester」をクリックしてテスター画面を呼び出します。 「Expert Advisor」「通貨ペア」「モデル」「期間」の4つのプルダウンメニューがあるので、それぞれ検証したい条件を選択して記入していきましょう。 なお、「モデル」で選択できる「Every tick」「control points」、「Open price only」は、それぞれ検証の精度が変わってきます。 「Every tick」は精度が一番高い検証となりますが、バックテストの期間や、使用するEAによって非常に時間がかかることがあります。 最後に「寸と時間を使用」でバックテストの期間を設定し、「Visual mode」にチェックを入れて「スタート」を押せばバックテストがスタートします。

この時にぜひお勧めしたいのは「Visual mode」で、ここにチェックを入れておくと、表示されるチャート上に売買と決済の挙動が表示され、実際にどんなトレードを行ってくれるのか視覚的に検証することができます。

オプティマイズ機能を使った最適化の行い方

オプティマイズ機能とは、MetaTraderで使用するEAのパラメータを、最適な値に修正することができる機能です。

たとえば、「長期の移動平均線を短期の移動平均線が上抜いたら買い注文を出す」というロジックが組み込まれたEAの最適化を行う場合、長期線の日数と短期線の日数を変更し、なおかつ最適な日数の組み合わせを過去のデータと照合して探し出します。 例えば、EAに組み込まれた移動平均線のパラメータを修正する場合、以下のような内容で検証が行われます(数字は任意で自由に変更できます)。

・長期線の日数を12〜30の範囲で検証する
・短期線の日数を7〜10の範囲で検証する

この場合、12〜30までの長期線と、7〜10までの短期線をすべて組み合わせ、一番優秀なトレード結果を表示してくれるのです。 この検証機能で最適なパラメータを探し出し、ロジックに組み込まれた数値を変更することを「最適化」といいます。

実際に行う最適化は、バックテストで呼び出したテスター画面から行います。 バックテストの要領で変更したいEAを設定し、「Optimization」にチェックを入れ、「Expert properties」をクリックすると、EAのパラメータを呼び出すことができるので、各パラメータの数字を変更していきます。

変更したいパラメータにチェックを入れ、「スタート」、「ステップ」、「ストップ」の数字をダブルクリックして変更します。 「スタート」に「12」、「ストップ」に「30」を記入し、「ストップ」には「1」を記入します。これで、12〜30まで、1段階ずつすべての組み合わせを検証してくれます。

細かく最適化をかけていくと、過去のどんな値動きに対しても素晴らしい結果を残すパラメータを設定できますが、最適化をあまりかけ過ぎると、実際 の値動きにまったく対応しなくなってしまいます。 これが「カーブフィッティング」と呼ばれる、過剰な最適化です。

最適化はあくまでもEAの弱点を修正するための作業です。 過去相場に完璧に対応するEAを作り上げても、なんの意味も無いことを覚えておきましょう。 一定の通貨や期間に対して徹底的な最適化をかけても、他の通貨や期間ではほとんど通用しなくなってしまいます。

検証結果の見方

テストの結果は、テスター画面の最下部にある「結果」、「Graph」、「レポート」の各タブで検証することができます。 「結果」タブでは、テスト中に売買したポジションがすべて表示されます。 「Graph」タブでは、テストの結果で資金がどう増減したかグラフで表示されます。 「レポート」では、テスト期間中に行われた取引の回数や利益率、一回の取引で被った最大の損失など、細かいデータが表示されます。

EAの成績を端的に把握できるのは「Graph」タブです。 滑らかな右肩上がりのグラフを描いたEAは、大きな損失を出すことなく利益を出したことになります。

また、「レポート」タブで必ず確認したいのは、「最大ドローダウン(Maximal drawdown)」、「利益率(Profit factor)」、「トレード回数(Total trades)」です。 少なくともこの3つを確認しないと、バックテストを行う意味がありません。

最大ドローダウンが20%以上あるEAは、1回のトレードで大きな損失を発生させる確率が高いと言われています。 また、利益率が1以下のEAは、トレードで資産を増やせなかったことを意味します。 実際のトレードでも、利益を出すのは難しいでしょう。 さらに、トレード回数が極端に少なかったEAも、実際のトレードには向いていません。

反対に、あまりにも優秀な結果を出したEAについても、疑ってかかった方がいいでしょう。

ほかの通貨ペアやタイムフレームでバックテストを行ってみましょう。 過去のチャートに対してのみ極端な最適化(カーブフィッティング)をかけられた、見かけだけのEAである可能性が高いので注意が必要です。

また、バックテストの「期間」は、長ければ長いほど検証の精度が高くなります。 MetaTraderの画面中央上部にある「ツール(T)」から、「History Center」をクリックし、過去の値動きのデータをダウンロードして、検証の精度を高めましょう。 これも各FX会社によって違いはありますが、いろいろな通貨ペアの、各タイムフレームで表示される過去の為替データを数年単位でダウンロードすることができます。 バックテストには欠かせませんので、ぜひ利用してください。

ドローダウンが高いとリスクが高い

バックテストで注意すべき項目の1つが最大ドローダウンです。 EAを使った自動売買に限らず、FXでは必ずどこかで負けトレードが発生します。 仮に10戦して9勝できたとしても、たった1回の負けトレードがとてつもない大負けであった場合、意味が無くなってしまいます。

9回のトレードで90万円勝っても、10回目のトレードで100万円負けたらトータルでマイナスですし、100万円の負けトレードが最初に発生した場合、挽回するチャンスは当分の間、やってこないでしょう。 極端な例を挙げましたが、これが最大ドローダウンの恐ろしさであり、バックテストで必ず確認しなければならない理由なのです。

例えば、100万円の資金を用意してトレードした場合、1回のトレードで-20%の負けが発生すると、資金は80万円に減ってしまいます。 次のトレードで+20%の勝ちトレードが出来ても、96万円までしか資金は戻りません。

この例ではたった4万円のマイナスですが、+20%ものトレードが成功することは滅多にないのは、FXのトレーダーならだれでも知っていることです。 元の資金を取り返すまでには時間がかかるでしょうし、同じようなドローダウンが発生したら取り返すのはさらに難しくなります。

逆に、20%のドローダウンは、不出来なEAであれば簡単に発生します。 30%、40%といったドローダウンが発生するEAは、論外と言えるでしょう。

もう1つ、気をつけたい点があります。それは連続して発生する負けトレードです。 最大ドローダウンが10%でも、2回連続で発生すれば、20%のドローダウンとほぼ同じ結果になります。 負けトレードが連続して頻繁に発生するEAも、やはり実際のトレードには使わない方が賢明です。

最大ドローダウンの項目で20%以上の値をつけたEAは使用を敬遠するか、パラメータの変更をして再びテストを行うべきでしょう。 チェックする場合は、「レポート」の数字をチェックするだけではなく、「Graph」タブでグラフの描かれ方もチェックしましょう。 最大ドローダウンが大きいトレードは極端に落ち込んでいますし、連続して負けているトレードも一目瞭然で発見できます。

バックテストで滑らかな右肩上がりのグラフを描くことができれば理想的ですが、まずは最大ドローダウンの値と、連続したドローダウンの有無を徹底的にチェックしましょう。

検証結果のチャートを表示させてチェックする

MetaTraderのStrategy Testerを使った検証は、検証結果をチャート上に表示させることができます。 そして、どんなポイントで、どんなタイミングで売買と決済が行われたのか、視覚的に検証することが可能であることはお話しました。

バックテストをスタートさせる時には、ぜひ「Visual mode」にチェックを入れ、売買と決済の挙動をチェックしてください。 数字だけでは理解しにくい、EAのクセを把握することができます。

検証を行ったチャート上には、青い矢印と赤い矢印、黄色い矢印が表示されます。 青い矢印は買い注文の成立を表しています。 赤い矢印は売り注文の成立ポイントです。どちらの矢印からも点線が伸びており、黄色い矢印とつながっていますが、この黄色い矢印が決済を行ったポイントです。

青い矢印(買い注文)から伸びる青い点線は、右肩上がりになっていれば利益が出ているトレードになります。 逆に、赤い矢印(売り注文)から伸びる点線は、右肩下がりになっていれば利益が出ているトレードになります。

チェックしたいのは、各矢印の発生しているポイント、つまり売買と決済のタイミングです。 利益を出せないEAは、ロジックの良し悪しもさることながら、売買と決済のタイミングが悪くて利益が出せないことも多いのです。

はっきりと下落傾向が読み取れる値動きなのに、ほぼ下がり切ってから無意味な売り注文を出していたり、せっかくの決済ポイントを見逃して、利益を出せずに持ったままになっていたりと、いろいろな欠点が見えてくると思います。 こんな場合は、EAにテクニカル指標のロジックを追加してみたりパラメータの変更をより適したものに変更して対応しましょう。 売買のタイミング、決済のタイミングを修正するためにも、検証結果は必ずチェックしてください。

週末持ち越しは、ストップが指定してあっても、いきなりレートが飛ぶので危険

FXは通常、24時間いつでも取引が可能です。 ただし、取引不可能な時間帯もあります。 土曜日と日曜日、つまり週末はFXも取引ができないのです。 この、取引不可能な時間帯である週末を、ポジションを持ったまま過ごすことを「週末持ち越し」などと呼んでいます。

FXを行う上で、週末の持ち越しは大変に危険です。 明確な戦略を持ったベテランのトレーダーでない限り、週末の持ち越しは避けた方が賢明でしょう。

なぜ週末の持ち越しが危険かというと、週明けに、いきなりレートが飛んでしまうことがあるからです。

FXのチャートは、始値、終値、高値、安値が連続的に並んでいますが、土曜、日曜日に大きな経済的出来事が発生すると、週末の価格より極端に高いレート、あるいは安いレートからスタートすることがあるのです。 通常は連続してつながりを見せているチャートも、週末にレートが飛んでしまうと極端に間隔をあけて月曜日からスタートします。 この現象は「窓があく」「窓があいた」などと表現され、決済のタイミングを大きく逃す原因となります。 もちろん、窓があいた週明けの月曜日は大きな値動きを見せる場合がほとんどです。

最近の有名な事例では、サブプライム問題が表面化した時に「窓があく」現象がみられました。 8月3日(金)に1ドル108.04円でクローズしたマーケットが、8月5日(月)には1ドル107.55円からスタートしているのです。 なんと、51銭も飛び越えてレートが建っています。

大きな窓があいた場合、週明けは猛烈な注文の集中で、大抵はスリップページが発生します。 思った通りのトレードは難しいでしょう。 また、ストップ注文を入れておいたとしても、窓があき過ぎた場合はEAやFX会社のシステムがついていけず、持ったままになってしまう可能性もないとは言い切れません。

EAを使う、使わないにかかわらず、堅実なトレードを目指すのであれば、週末は必ずポジションを決済し、週末持ち越しは回避することをお勧めします。