MT4のストラテジーテスターでバックテストしてみよう

326714123

 

MT4でEAを使えば簡単にバックテストすることができる

 

多機能でテクニカル分析派のトレーダーに大人気のチャートソフトと言えばMT4ですが、
今やチャート分析だけにとどまらず、
自動売買のプラットフォームとして利用している人の方が多いかもしれません。

 

FXでの自動売買といえば以前は高価なトレード専用のソフトが必要でしたが、
MT4の登場で自動売買の環境自体は無料で手に入るようになりました。

 

あとは自動売買プログラムであるエキスパートアドバイザ(以下EA)を用意出来れば
簡単に自動売買をスタートすることが出来ます。

 

 

MQLを使って自分でEAのプログラムが出来れば一番いいのですが、
プログラムを専門に学習したことのある人以外には現実的ではないかもしれません。

 

フォワードテストが公開されている市販のEAを購入するのが最も簡単な方法でしょう。

 

 

MT4のEAは自動売買をするだけではなく、
過去の価格データ(ヒストリカルデータ)を利用することで
簡単にバックテスト出来る機能が備わっています。

 

EAの過去の取引を再現するのに非常に便利な機能で、
直近のフォワードテストと比較することでEAの信頼性をチェックするのに役立ちます。

 

 

 

意外と簡単なEAのインストール

 

慣れている人にとってはEAのインストール作業は朝飯前でしょうが、
MT4を使って間もない人にとってはかなり手間取る作業になるのではないでしょうか。

 

インストーラーが付いていて簡単にインストールできるEAも中にはありますが、
ほとんどの市販EAは手動でインストールする必要があります。

 

 

EAは通常「.mq4」あるいは「.ex4」というファイル形式で配布されていますが、
このファイルを「Experts」フォルダにコピーして
MT4を再起動すればインストール作業は完了します。

 

非常に簡単なのですが、ここでちょっと躓くのが
「Experts」フォルダの場所を探し出すという作業です。

 

以下のような長いフォルダのパスでようやく辿りつくという長い道のりになっています。

C:\Users\username\AppData\Roaming\MetaQuotes\
Terminal\865D356C75F52A87AC6534FF542\MQL4

 

Metaqutes社もさすがにこれではわかりにくいと考えたのでしょうか。

 

実はMT4のメニューから簡単に「Experts」フォルダ
開くことが出来るようになっていました。

 

「メニューバー」→「ファイル」→「データフォルダを開く」

 

20160401A

 

 

データフォルダが開くので
「MQL4」フォルダ→「Experts」フォルダと順に開いていきます。

 

 

20160401B

 

20160401C

 

ちなみに「.mq4」ファイルとは
プログラムのソースコードが書かれたファイルのことです。

 

一方の「.ex4」ファイルは、
「.mq4」ファイルをコンパイルしてできた実行ファイルになります。

 

MT4でEAを動かすためにはコンパイルされた「.ex4」ファイルが必要になります。

 

 

 

バックテストにはストラテジーテスターを使おう

 

サクッとEAのインストールが完了したところでバックテストの準備に入りましょう。

 

ツールバーの「ストラテジーテスター」ボタンをクリックして
「テスターウィンドウ」を開きましょう。

 

20160401D

 

テスターウィンドウには、テストするEA、通貨ペア、モデル、バックテスト期間、
時間足、スプレッド、エキスパートの設定などの機能を
簡単に呼び出せるようになっています。

 

20160401E

 

各機能の説明は以下の通りです。

 

・エキスパートアドバイザー・インディケーター切り替え

テスターウィンドウではEAだけでなくインディケーターをテストすることも出来ます。
どちらをテストするかはこのプルダウンメニューで簡単に切り替えることが可能です。

 

・通貨ペア

テストにはターミナルで使用可能な通貨ペアを選択することが出来ます。

 

・モデル

バーモデルの手法を「全ティック」、「コントロールポイント」、
「始値のみ」の3種類から選択することが出来ます。

 

1.全ティック
各ティックのフラクタル補完ですべての使用可能な最短周期に基づいています

 

2.コントロールポイント
12のコントロールポイントのフラクタル補完で直近の周期に基づいています

 

3.始値のみ
バーのオープンの価格のみを使用します

 

・期間を指定

テストする期間の範囲を設定できます。
チェックボックスにチェックを入れることでこのオプションが有効になり、
開始日と終了日を指定することが可能になります。

 

・期間

テストする時間足を選択します

 

・スプレッド

テストする際のスプレッドを設定します。
現在値の他に任意の数値を指定することが出来ます。

 

・最適化

チェックボックスにチェックを入れるとパラメータの最適化が有効になります。

 

・エキスパート設定

EAのパラメータの設定をします

 

・通貨ペアのプロパティ

通貨ペアのプロパティを確認できます

 

・チャートを開く

テストした通貨ペアを新規チャートウィンドウで開きます。
ポジションのオープン、クローズのポイントをチャート上で確認することが出来ます。

 

・エキスパート編集

指定したEAのソースコードを編集するためにMetaEditorを開きます。
この機能はEAのちょっとした変更や
EAを再コンパイルする必要があるときに役立ちます。

 

・スタート

ボタンをクリックするとテスト、最適化を開始します。

 

 

大まかな機能がわかったところでさっそくバックテストをしてみましょう。

 

今回はMT4に標準でインストールされているMovingAverage.ex4を使用してみます。

 

通貨ペアはドル円、期間を2010年1月1日から2016年2月1日、
エキスパート設定は特にいじらずにバックテストしてみました。

 

20160401F

 

バックテストした結果はHTML形式のリポートとして出力することが出来ます。

 

20160401G

 

 

 

レポートによるバックテスト結果の見かた

 

バックテスト結果はグラフで表示されるので、
視覚的にそのEAのパフォーマンスをチェックすることが出来ます。

 

収益曲線が右肩上がりで凸凹が少ないEAなら期待できますが、
右肩下がりで収益曲線がギクシャクしているようなEAだと使う気になれないですよね。

 

グラフを見るだけで大まかなEAの性能はわかってしまうのですが、
さらに正確に知りたい場合にはレポートに出力された数値を検証する必要があります。

 

20160401H

 

レポートでは以下のデータをチェックすることが出来ます。

 

・テストバー数

バー内のモデル化されたヒストリーデータの数です。

 

・モデリングティック数

モデル化されたティックの数です。

 

・モデリング品質

テスト中にモデル化された入力の質をパーセント単位で表しています。
モデリングの品質によりバンドの色が変化します。

 

灰色:使用可能データのこの部分はテストには関係なかった部分で、
テスト時に日付範囲が指定されている場合に表示されることがあります。

 

赤:短期周期に関する使用可能なデータが失われています。
そのためモデリングはこのスペースでは行われずテスト設定で選択された周期の日付だけ使われています。

 

緑:モデリングはこのスペースで行われており、モデリングの品質が高い時は色の輝度が高くなります。

 

・初期証拠金

初期証拠金の総額は表示されています。

 

・純益

(総純利益)=(総利益)―(総損失)

 

・総利益

金銭的単位でのすべての利益の出た取引の総額です。

 

・総損失

金銭的単位でのすべての利益が出なかった取引の総額です。

 

・プロフィットファクタ

総利益と総損失間の比率をパーセント単位で表したものです。
1はそれらの総額が等しいことを意味しています。
1より大きければ利益が出ていて、小さければ損失が出ていることになります。

 

・期待利得

1回のトレードで期待される利得のことです。
(期待利益)=(平均利益)/(損失)

 

・絶対ドローダウン

口座の初期資金からの最大損失を表します。

 

・最大ドローダウン

一時的に最大資産から下落した場合の最も大きい下落率を表します。

 

・総取引数

テスト期間中の総トレード数です。

 

・ショートポジション (利得 %)

ショートポジションの数とその利益率を表します。

 

・ロングポジション (利得 %)

ロングポジションの数とその利益率を表します。

 

・勝率 (全体の%)

利益が出た取引の数とパーセント単位で勝率を表します。

 

・負率 (全体の% )

利益が出ない取引の数とパーセント単位での負率を表します。

 

・最大勝ちトレード

すべての利益が出たポジションの中での最大利益を表します。

 

・最大負けトレード

すべての利益が出なかったポジション中での最大損失を表します。

 

・平均勝トレード数

テストした取引における平均利益額
(利益の総額)/(利益が出る取引の総計)

 

・平均負トレード数

テストした取引における平均損失額
(損失の総額)/(利益が出る取引の総計)

 

・最大連勝 (金額)

連勝の最大数と連勝中の利益です。

 

・最大連敗 (金額)

連敗の最大数と連敗中の損失です。

 

・最大連勝 (トレード数)

最大連勝中の利益と連勝の最大数です。

 

・最大連敗 (トレード数)

最大連敗中の損失と連敗の最大数です。

 

・平均連勝

平均の連勝数です。

 

・平均連敗

平均の連敗数です。

 

 

 

上記を参考にしてバックテストのレポート結果をみると
テスト期間中のトレードの詳細を検証することが出来ます。

 

特に注目したいのはトレード数と最大ドローダウンです。

 

トレード数の少ないストラテジーはカーブフィッティングの影響を受けやすく
フォワードテストに移行したとたんに調子を落とすことがあります。

 

またいくら右肩上がりでも最大ドローダウンの大きいEA
証拠金を多めに入れておかないとすぐにマージンコールがきてしまいます。

 

 

 

全ティックモードでしか動かないEAは避けた方がいいかも

 

テスターによるバックテストでは「全ティック」、「コントロールポイント」、
「始値のみ」の3つのモデルを選ぶことが出来ますが、
出来れば「始値のみ」で動作するEAを使うことをお勧めいたします。

 

 

MT4で一般的に入手可能なヒストリカルデータ
1分足なのでティックデータは含まれていません。

 

全ティックモードとはいえ1分足のデータから
無理やりティックデータを作り出しているわけですね。

 

そのため全ティックモードでのテストは
始値モデルのテストに比べて信頼性の面で劣っています。

 

 

また、全ティックモードでバックテストすると非常に時間がかかるのですが、
始値モードでバックテストするとテスト時間が明らかに短くて済みます。

 

 

 

市販のEAを購入したらまずバックテスト

 

市販のEAを購入したらすぐに運用したい気持ちをぐっと抑えて、
まずはバックテストをしてEAの素性をチェックしましょう。

 

最大ドローダウンの数値は証拠金や売買ロットを決めるときの参考になりますし、
個々のトレード結果をチャート上に表示することも出来ます。

 

 

また期間を指定すれば様々な相場で通用するのかを確かめることも出来てしまいます。

 

このEAはリーマンショックを切り抜けることが出来るのか
などテーマを決めて検証することは堅牢性をチェックするのにも役立ちそうですね。

 

バックテストは非常に簡単なので
EAを入手したらすぐにバックテストをする習慣を身につけておきましょう。

 

 

引き続き、FXトレード研究会(FTK)で取り上げてほしい
題材(テーマ)などのリクエストも受け付けておりますので
お気軽にいつでもお問い合わせください。

 

メールでのお問い合わせはこちら

 

 

コメント