アルビレオEAラボ

アルビレオEAラボ

自己資金ゼロ円から始めるほったらかしEA生活

バックテストの実施方法

バックテストとは

過去の値動きのデータを元に

EAの動作確認を

することができます。

実施例

アルビレオGOLD」のバックテスト結果

spicaealab.hatenablog.com

MT4の機能であるバックテストからわかること

テスト期間として設定した期間の

・損益

・ドローダウン(含み損)

・エントリー回数と勝敗数

 (ロング、ショート別にわかる)

・プロフィットファクタ(PF)

など、EAの成績がわかるような

代表的な数値を求めることができます。

ただし、バックデータには

スプレッドの広がりやスリッページ

データは含まれません。

例えば、

雇用統計発表中の乱高下で

バックテストでは

エントリーできて

EAの指示通りに利確できたとします。

しかし、実際は、

スプレッドの広がりや

スリッページの問題があって

その通りに約定できないです。

したがいまして

バックテストで得られたEAの

上記、成績の数値は

あくまでも参考となります。

 

それよりも、私が大事に思うのは

EAがどんな時にエントリーして

どんな時に決済しているかを

デバックすることができる

ということです。

これは、

私自身がEAの開発をしているから

ということもありますが

開発者からEAのロジックの隅々まで

知らされていない使用者にとっても、

ある程度、どんなロジックか

解析や分析ができますので

実施する価値はあると思います。

よってここではMT4の無料で

できる機能であるバックテストの

実施方法について解説いたします。

(注意)

変動スプレッドに対応するには

有料のTDSデータを使うことで

解決します。

詳しく知りたい方は

ググって下さい。

ここでは割愛します。

バックテストの準備

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

まずは、テストに必要な

過去の値動きのデータ

ヒストリカルデータ

が必要です。

入手方法は、海外国内ブローカから

無料でダウンロードさせて

くれるところがあります。

例えばこちらからダウンロードできます。

ダウンロードデータは

できるだけ新しいものを

使いますので

直近にダウンロードします。

AXIORYサイトからダウンロードはこちら

www.axiory.com

FXDDサイトからダウンロードはこちら

kb.fxdd.com

MT4の準備

①MT4の設定

ツール/ オプションで下図の

ボックスが開きます。

ここの最大バー数に

2147483647が

入力されている状態にします。

②バックテストには

沢山のメモリや容量を必要とします。

したがいまして余計なファイルは

消去してダイエットします。

特に、今の時点でMT4に保存されている

ヒストリカルデータは

バックテストで実施しようとしている

通貨ペアやCFDであっても

全て消去しておきます。

ヒストリカルデータの消去の仕方

MT4のメニューから

ファイル(F)/データフォルダ(D)を開く

データフォルダが開かれます。

historyフォルダをダブルクリックして開く

ヒストリカルデータが

入っているフォルダ

XMの場合は、

「XMTrading-Real 〇〇」を

ダブルクリックして開く

このフォルダに入っている

拡張子 .hst が

ヒストリカルデータになります。

このフォルダに入っている

ファイルを

全て消去して構いません。

消去したらゴミ箱の中に

ファイルが移動しますが

ゴミ箱の中に入っていると

ダイエットしたことに

なりませんから

ゴミ箱を空にして下さい。

そうしたら、MT4を閉じて下さい。

 

③MT4を再起動してから

まず、直近のヒストリカルデータを

呼び出します。

その為には

バックテストを実施したい通貨ペア

もしくはCFDなどの

チャートを開き、1分足にします。

見える範囲が最大になるまで

「ー」をクリック続けることと

右端で固定されないように

オフにしてください。

このチャートを

左にスクロールできるところまで

スクロールします。

PCのキーボードで

左矢印キーを押しながら

マウスでも

チャート画面を掴んで

右へ右へと送っていくと

左にスクロールするのが

早いです。

これによって、

直近の1分足のデータが

MT4に保存されますので

あとは、ダウンロードした

ヒストリカルデータと

マージすればよいことになります。

④1分足データをマージする

バックテストを実施する

1分足を選択して

インポートをクリックする。

ダウンロードした

ヒストリカルデータを

参照から呼び出し

OKをクリックすると

ダウンロードされた1分足データが

インポートされて

直近の1分足データと

マージされます。

ここでまた、MT4を閉じて

再起度します。

⑤1分足データから上位足のデータを作成します。

ファイル/オフラインチャート

から開いたボックスで

バックテストを実施する

通過ペアまたはCFDの

1分足を選択します。

オフラインの1分足のチャートが開きます。

ナビゲーターウィンドウの中
PeriodConverterをドラッグします。

開いたボックスに

5 を入力してOKすると

1分足データから

5分足データが

作成されます。

これを同様に

15 を入力してOKすると

15分足データが作成されます。

このように続けて

30、60、240、1440、10080と

入力していくと

30分足、1時間足、4時間足、日足、

週足が作成されます。

PeriodConverterをドラッグ繰り返す際

下記が開きますが

全て ”はい(Y)” です。

PeriodConverterで各時間足が

できたか確認方法

ファイル/オフラインチャート

から開いたボックスで

M1

M5

M15

H1

H4

Daily

が確認できます。

ここでMT4を閉じて

準備完了です。

バックテスト

虫眼鏡のアイコンをクリックして

テスターのウィンドウを開く

テスト設定タブで

バックテストする条件

元資金金額や

ロングだけショートだけ

ロングとショート両方を設定する

パラメータの入力タブでは
EAで設定された

パラメータを設定します。

EAによって

パラメータは

異なりますから

それぞれの

EAに従って下さい。

パラメータ入力タブ

単発テストの場合

チェックは入れない。

値をそれぞれ入力してOK

パラメータを振って連続してテストする場合(最適化)

パラメータを振るものだけ

チェックを入れる。

チェックを入れたパラメータだけ

初期値とステップ幅と終わり値を

入力してOK

⑥バックテスト実施

単発テストの場合

最適化にチェックを入れないで

スタートをクリック

パラメータを振って連続してテストする場合(最適化)

最適化にチェックを入れて

スタートをクリック

 

これでバックテストがスタートします。

 

バックテストはダイエットしながら

バックテストを繰り返していると

とんでもなく容量の大きいファイルが

できてしまってMT4の動作に

不具合を起こしたりします。

ときどきお掃除してあげましょう。

お掃除するファイルはこちらです。

MT4のメニューから

ファイル(F)/データフォルダ(D)を開く

データフォルダが開きます。

”Tester”フォルダを選択

caches

history

logs

の上記フォルダ内にたまった

ファイルは定期的に

削除して下さい。

時々とんでもなく

容量の大きいデータが

あったりしますので

驚きます。

VPS

バックテストでは

テスト期間が長いほど

複雑なロジックのEAほど

バックテストの計算に

時間がかかります。

7年間分をやると

私の環境では

一回の計算時間が

18時間くらいになります。

VPSにインストールした

MT4でバックテストを実施すれば

バックテスト計算途中でも

ご自分のPCは

電源オフにできますので

とても便利です。

有料ですが

検討する価値あると思います。

 

また、VPSをお使いであれば

折角ダウンロードして

インポートしてマージして

作ったバックデータですが

VPS上でそのままMT4で

ウインドウ開いて

流しっぱなしにしていれば

そのまま直近の

ヒストリカルデータが

蓄積され更新されていきます。

次また、何日後、何か月後に

バックテストを実施するときには

ヒストリカルデータを

全て消してから、ダウンロードして

の一からやる作業の手間が省けます。

よってこのことでも

VPSはあった方が便利。

検討よろしくお願いいたします。

spicaealab.hatenablog.com

バックテストを実施する意義

こちらもご参考にお願いします。

spicaealab.hatenablog.com