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

355903970

 

MT4へEA(エキスパートアドバイザー)をインストールするのはとても簡単

 

MT4はチャートソフトとしてはもちろんですが、
自動売買のプラットフォームとしてもたいへん優秀です。

 

自動売買プログラムであるEA(エキスパート・アドバイザー)さえ入手してしまえば、
自動売買の環境はすぐに手に入ります。

 

ネックになるのは良質なEAの入手方法ですが、
こればかりは情報との勝負になるので常にアンテナをはっておくしかないでしょう。

 

 

EAのインストール方法は指定のフォルダ(「Experts」フォルダ)
EAファイル(mq4あるいはex4ファイル)をコピーし、
再起動するだけなので非常に簡単です。

 

初心者が戸惑うとしたらフォルダがどこにあるのか見つからない
ということくらいでしょう。

 

 

普通にエクスプローラーから「Experts」フォルダを探そうとすると
なかなか見つけることができません。

 

しかし、最近のMT4ではメニューからデータフォルダ
たどり着くことが出来るようになっているのでそれを利用しましょう。

 

 

MT4 のメニューバーから 「ファイル(F)」→「データフォルダを開く(D)」 を選択すると
「データフォルダ」が開くので「MQL4」→「Experts」と進んでいけばOKです。

 

あとはEAファイルを「Experts」フォルダにコピーしてMT4を再起動すれば
EAのインストール作業は完了です。

 

 

 

EAを入手したらバックテストはお忘れなく

 

FXの売買戦略をたてる時には通常は過去の価格データの変動
すなわち値動きを検証し収益が上がるようなパターンを探し出すところからはじめます。

 

EAを開発する場合も同様で過去の価格データを根拠に売買戦略を作成しています。

 

 

MT4には過去の価格データ(ヒストリカルデータ)を読み込んで
EAが売買戦略どおりに作動してくれるのかをテストする機能があります。

 

その機能はストラテジーテスターと呼ばれており
MT4の標準機能として組み込まれています。

 

 

ヒストリカルデータを使用し、ストラテジーテスターで過去にさかのぼって
EAの売買成績を検証することをバックテストといいます。

 

EAを入手したら必ずバックテストをしてから実運用に入るようにすることが重要です。

 

海外フォーラムなどでダウンロードできるフリーEA(無料のEA)の場合には
バグなどが残されている場合も多いので要注意です。

 

マネーマネジメント機能がうまく働かなくて
意図しないロットで売買する可能性もあるし、
最大ポジション数の制御に問題があると
無限にポジションを持ってしまう可能性もあります。

 

いずれの場合も口座残高を脅かす可能性のある
非常に危険なバグといってもいいでしょう。

 

 

市販のEAの場合は開発者が入念にチェックしているはずなので
バグが残っていることは稀です。

 

しかしブローカーによる仕様の違いなどを開発者が見過ごしてしまった場合などに
不具合が起こるケースもあります。

 

こうしたことを防ぐためにも検証期間を長めにとったバックテストは
必須といってもいいでしょう。

 

 

 

ヒストリカルデータをダウンロードしよう

 

バックテストをする前に過去の価格データである
ヒストリカルデータを用意しておきましょう。

 

MT4では「ヒストリーセンター」を使って
簡単に1分足をダウンロードすることが出来ます。

 

 

「ヒストリカルデータ」をダウンロードする前に以下の設定を済ませておいてください。

 

1.メニューバーの「ツール」→「オプション」と進み「チャート」タブを選択します。

 

2.「ヒストリー内の最大バー数」と「チャートの最大バー数」に
「2147483647」以上の数字を入力します。
9で埋めてしまうのが一番手っ取り早いと思います。

 

3.「OK」をクリックしてウィンドウを閉じます。

 

 

 

例えばドル円の1分足をダウンロードする場合は以下の手順に従ってください。

 

1.メニューバーの「ツール」→「ヒストリーセンター」と進みます。

 

2.「ヒストリーセンターウィンドウ」が開いたら
「通貨ペア」の中から「USDJPY」をダブルクリックします。

 

3.「1分足(M1)」をダブルクリックします。

 

4.「ダウンロード」をクリックします。

 

5.ダウンロードされるヒストリカルデータはMetaQuotes社が提供しているもので
接続しているブローカーのものではない旨のアラートが表示されます。
「OK」をクリックするとダウンロードが開始されます。

 

6.ダウンロードが終了したら「閉じる」をクリックして
「ヒストリーセンター」ウィンドウを閉じます。

 

「ヒストリーセンター」からダウンロードできるのは
MetaQuotes社が提供しているヒストリカルデータなので、
口座開設したブローカーがヒストリカルデータを用意してくれている場合は
そちらをインポートしたほうがいいでしょう。

 

 

 

ストラテジーテスターの起動と設定項目

 

バックテストを実行するためにストラテジーテスターを起動しましょう。

 

ストラテジーテスターはツールバーの「ストラテジーテスター」ボタンをクリックするか
メニューバーの「表示」→「ストラテジーテスター」から立ち上げることが出来ます。

 

テスターウィンドウが立ち上がったら
「セッティング」タブ内でバックテストの設定を行いましょう。

 

 

設定できる内容は以下のとおりになります。

 

 

201605014A

 

 

1.テスト対象をプルダウンメニューから選択することが出来ます。
EAのバックテストをする場合は「エキスパートアドバイザー」を選択します。

 

2.プルダウンメニューからテストするEA名を選択します。

 

3.「エキスパート設定」でEAのパラメーターなどの設定をします。

 

4.「通貨ペア」でテスト対象の通貨ペアをセットします。

 

5.テストする周期(日足、時間足など)をセットします。

 

6.通貨ペアのプロパティを確認出来ます。

 

7.3つのモデリング方法のいずれか一つを選択します。

 

8.テストに適用するスプレッドを選択します。
プルダウンメニューの選択肢にない場合は直接数字を入力できます。

 

9.テスト結果を見る場合は「チャートを開く」をクリックします。

 

10.テストする期間を指定出来ます。

 

11.チャート上でトレード状況を確認しながらテストしたい場合は
ビジュアルモードにチェックを入れます。

 

 

 

モデルについては少しわかりにくいと思うので詳しく説明します。

 

1.全ティック
(利用可能な最小時間枠を使いすべてのティックを生成する最も正確な方法)

3種類の中で最も正確なモデリング方法です。
ティックデータがある場合はそのデータを使用しますが、
ティックデータがない場合は1分足の4本値からMT4が自動的に作り出しています。
1分足がない場合は5分足以降の周期のデータを使用しますが精度は落ちてしまいます。

 

2.コントロールポイントコントロールポイント
(12のコントロールポイントのフラクタル補完で直近の短期周期に基づく)

コントロールポイントは全ティックよりも使用するデータが少なく精度が落ちるので
大まかな結果を得たい場合に使用します。
直近の12の周期のコントロールポイントから
フラクタル補完で価格を生成しテストを行います。

 

3.始値のみ(最も早い方法。バーの始めにしか動かないEA向け)
バーの始値のみをバックテストに使用するモデリング方法です。
始値しか使用しないのでバックテストに要する時間が短縮されます。

 

 

 

実際にバックテストをしてみよう

 

それでは実際にバックテストを行ってみます。

 

事前にEAを用意しておかないといけないのですが、
ありがたいことにMT4には「MACD Sample.ex4」と
「Moving Average.ex4」
というEAが標準でインストールされています。

 

この2つのEAはMT4がリリースされた当時からずっと変更されていないので、
トレードの戦力としては期待することができません。

 

MT4がきちんと動いているかのチェック用程度に考えておいた方がいいでしょう。

 

 

今回はこの2つのEAの中から
「Moving Average.ex4」を選んでバックテストをしていきます。

 

「MACD Sample.ex4」はプログラム中に
Pointと呼ばれる変数が使用されているのですが、
5Digitsを採用しているブローカーに対応する処理がされていないため
EAが本来の動作をしてくれません。

 

そのため今回はPoint変数を使用していない
「Moving Average.ex4」を使用してみることにします。

 

 

バックテストは以下の条件で行います。

 

 

EA:Moving Average.ex4

 

通貨ペア:USDJPY(ドル円)

 

時間足:H1(1時間足)

 

モデル:全ティック

 

スプレッド:2.0pips

 

期間:2012年1月1日から2016年4月30日

 

 

「ストラテジーテスター」ボタンをクリックして
「テスター」ウィンドウを開き上記の条件になるように
設定した後に「スタート」ボタンをクリックします。

 

バーがすべて緑色になったらバックテスト完了です。

 

 

201605014B

 

 

ポジション毎のトレード結果が見た場合は「結果」タブを選択します。

 

 

201605014C

 

 

収益曲線を確認したい場合は「グラフ」タブを選択します。

 

 

201605014D

 

 

トレードの詳細結果を確認した場合は「レポート」タブを選択します。

 

このレポートにより様々な情報がわかります。

 

バックテスト後には必ず一番上の行でモデリング品質を確認しておいてください。

 

1分足が正常にダウンロードされていればモデリング品質は90%になっており、
バーグラフが緑色で表示されているはずです。

 

 

201605014E

 

 

EAのプロパティ画面で「初期証拠金」証拠金の通貨ペアの設定が可能です。

 

日本円でバックテストをしたい場合には直接「JPY」と入力してください。

 

 

201605014F

 

 

 

ライブ口座でEAを動かす前にやっておくこと

 

このようにMT4のバックテストでは
ヒストリカルデータを簡単に利用することが出来るため、
お手軽にストラテジーを検証することが出来ます。

 

1分足データをダウンロードするために最初はちょっと時間がかかりますが、
一回ダウンロードしてしまえばそれ以降はあまり時間を要しないで
追加分をダウンロードすることが出来ます。

 

 

EAを入手したらまずバックテストをして
テスター上できちんと動いているか確認する習慣をつけた方がいいと思います。

 

テスターでの動作確認後、デモ口座でのフォワードテスト
問題なければライブ口座での運用という順序が基本になると思います。

 

 

少しは参考になりましたでしょうか?

 

 

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

 

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

 

 

コメント