MT4 EA

GMT時間基準で動くEA Beatriceシリーズで正常にバックテストを行う為の手順と、注意点

投稿日:

先日公開した記事「EA Beatriceの少額資金運用向け 1ポジション&高勝率バージョン DELTA2 EURUSDは『買い』か!?」でも書いたように、Beatrice DELTA2というEURUSDの高勝率スイングトレードEAが引き続き大人気だ!

Beatrice DELTA2 2018 10 04(2018年10月4日 時点)

10/4で販売開始から3ヶ月、この短期間ですでに利用者数 1,000人突破と凄まじい勢いで売れまくり

現在の負けなし、勝率100%状態がもうしばらく続くようなら、今年中に2,000本突破する可能性も全然あり得そう。

そんな現在バカ売れ状態にあるBeatrice DELTA2だが、自身で正常なバックテスト結果得るにはちょっとしたコツがいる

私も以前そうだったように、DELTA2に限らずEA Beatriceシリーズを利用している方の中には「このEAは正常なバックテスト結果が得られない」と悩んでいる(もしくはバックテストを諦めている)方も少なくないのでは?と思う

そこで今回はGMT時間基準で動くEA Beatriceを正常にバックテストする為の手順と、気をつけるべき点について書いてみたい

EA Beatriceの推奨バックテスト環境

今回Beatrice DELTA2を購入済みの方はご存知だろうが、ダウンロードしたフォルダ内のpdfファイル(ReadMe.pdf)にはEAの推奨バックテスト環境として

  • MT4はサーバー時間がGMT0のブローカー
  • ヒストリカルデータはデューカスコピー JFOREX よりダウンロードしたGMT 0のデータを利用
    ※他環境でのバックテストの結果に関しましては、一切保証いたしかねます。とも記載されている

国内外を問わず多くのMT4を扱うブローカーではGMT+2(夏時間はGMT+3)を採用しており、これらブローカーのMT4でパラメータ値をデフォルトのままバックテストを行ってもバックテストではAutoGMTが機能しないことから、実際とは異なる結果が表示される

一応サーバータイムが米国基準のMT4であってもヒストリカルデータをGMT基準へ修正するれば、正常にバックテストを行うことは不可能ではないが少々面倒なので、GMT基準のブローカー(国内だとアヴァトレード、海外だとBigboss等)のMT4に、GMT 0のヒストリカルデータをインポートしてバックテストを行う方が手っ取り早い

Jforexからヒストリカルデータをダウンロードする手順とちょっとした注意点

GMT基準のMT4をダウンロードしデモ口座を開設したら、次はMT4にインポートするGMT 0のヒストリカルデータ取得作業に移る事になるが、デューカスコピーのJforexからならGMT 0の長期ヒストリカルデータを簡単にダウンロードできる

ダウンロード手順はデューカスコピー・ジャパンからヒストリカルデータを取得する方法【Dukascopy】JForexから1分足のヒストリカルデータをダウンロードするなどを参考にしていただければと思う。


ちなみにダウンロードするのは1分足、ビッド価格のみでOK

これは個人的な経験談だが、以前私はここで軽くつまずいた。というのも私は日頃からJforexをメインのチャートソフトとして利用しており、プラットフォーム時間を日本時間(JST)に設定している為、そのままGMT+9のヒストリカルデータをダウンロードしてまった(バックテスト結果の履歴を確認しておかしいことに気がづいた)

私のように日頃からJforexを利用しており、プラットフォーム時間をGMT(UTC)以外に設定して使用している場合は、ヒストリカルデータをダウンロードする前に環境設定からプラットフォーム時間をGMT(UTC)に設定しなおすことを忘れないよう注意したい

ちなみにデフォルトではGMT(UTC)に設定されている為、プラットフォーム時間を変更していない場合は特に気にする必要はない

加えてもう1つ注意点。JforexではEURUSDだと2003年6月以降の長期ヒストリカルデータが取得可能となっているが、あまり長期間の1分足データとなると容量も大きくなり、ヒストリカルデータをMT4へインポートする際に時間がかかる(もしくは途中でエラーとなる)可能性があるため、できれば期間は5年以内に留めておくのが無難かもしれない

MT4にヒストリカルデータをインポートする

JforexよりGMT0の1分足 BIDデータがダウンロードできたら、次はMT4にそのヒストリカルデータをインポートしよう

ヒストリカルデータをMT4にインポートする前に、既存のヒストリカルデータを削除したりといった準備が必要となるが、それら前準備を含めてインポート手順については分かりやすく解説されているサイトはネット上にたくさん見受けられるので、それらを参考にしてもらいたい

参考URL
ヒストリカルデータインポート、バックテスト前の事前準備
MT4 ヒストリカルデータ(過去データ)のインポート・設定手順

ヒストリカルデータがインポートできなくて困った場合(実経験に基づくアドバイス)

おそらく参考URLのページで書かれている内容に沿って作業を行えば、問題なくMT4へヒストリカルデータをインポートすることができると思う

ヒストリカルデータ インポートできない

しかし、場合によっては↑画像のように、参照でJforexからダウンロードしたヒストリカルデータ(csvもしくはhstファイル)を選択したのに、データが読み込まれない(空白のままフリーズ)状態になるケースもあるかもしれない

この場合、しばらく待ってみるとデータが表示されることがある。もし5分〜10分程度待ってみても何も反応がない場合、×ボタンを押して一度ウィンドウを閉じてから再度開くとデータが表示されていたりする

ヒストリカルデータの期間の長いほど当然読み込みに時間がかかると思われ、しばらく待ってみてもダメならウィンドウを閉じてもう一回→しばらく待つ を何回か繰り返せば大抵の場合はうまくいくと思う(とにかく待つ忍耐が一番重要?)

もしこれを何回か繰り返しても反応がない場合、別のMT4を起動してインポートできるか試したり、PCを再起動、または別の容量の小さい(数ヶ月分などの)ヒストリカルデータでインポートできるかを試してみるといいかもしれない(私は以前これでインポートできた)

1分足 ヒストリカルデータのインポートが完了したら、1分足のオフラインチャートを開いてスクリプト PeriodConverterAllなどを使って他時間足のチャートを作成したらバックテストを行う準備は完了となる

バックテスト時のエキスパート設定(パラメータ)について知っておきたいこと

私も実際に所有しているEAでいうと、Beatrice DELTA2も07, ADX01も基本的にバックテスト時のエキスパート設定(パラメータ)の数値はデフォルトのままでいい

Beatrice DELTA2 BTパラメータ

ただ1つ覚えておきたい事として、時間に関するパラメーター値は+1した時間がトレード条件として反映される

例:WeekEndCloseTime【17】(デフォルト値)でバックテストを行った場合、+1時間された金曜日の18時にポジションは強制クローズとなる(サーバータイム GMT0のMT4を利用した場合、日本時間だと+9時間なので土曜 夜中 3時)

ちなみにBeatrice DELTA2の現バージョンではTradeStartTime, TradeEndTimeのパラメータ設定項目がない為、GMT0以外のMT4でバックテストを行うのは(ヒストリカルデータの時間をGMTに調整する必要がある為)私個人的には諦めている状態

Beatrice–07、Beatrice-ADX01をGMT+2のブローカーでバックテストを行うためのパラメーター設定

Beatrice ADX01 BTパラメータ

DELTA2とは違いBeatrice–07、ADX01にはTradeStartTime, TradeEndTimeのパラメータ設定項目がある為、OANDA JAPANや外為ファイネスト等の一般的なGMT+2のブローカーでもパラメータの数値を調整すれば(※一応)参考となるバックテストが可能となっている

外為ファイネスト MT4 ZEROでBeatrice-ADX01をバックテストしてみた

外為ファイネストは以前まで日本時間と同じGMT+9時間(JST)のタイムゾーンを採用していたが、2017年7月5日以降はGMT+2(米国夏時間は+3)に変更されている

MT4・ZEROタイムゾーン変更(日足5本化)のお知らせ

2018年は11月4日に米国夏時間→冬時間へ切り替わる為、現10月時点ではまだ米国は夏時間=外為ファイネストのサーバータイムはGMT+3となる

よって、米国夏時間(2018年3/12〜11/3)の期間中であればTradeStartTime, TradeEndTimeのパラメータをデフォルト値+3に変更してバックテストを実行すれば、参考となるバックテスト結果が得られる

外為ファイネスト Beatrice ADX01 夏時間 BT パラメーター
↑のようにTradeStartTimeを0→3、 TradeEndTimeを17→20(AutoGMTをfalseにする場合は21)に設定

上記パラメーター設定で外為ファイネストでバックテストを行った結果が以下↓(BT期間 9/10–10/6)

GMT0とGMT+3 BT結果 比較(クリックで拡大表示)
↑左側はGMT0のMT4(Jforexのヒストリカルデータ)、右側は外為ファイネスト(リアル口座のヒストリカルデータ)で行ったBT結果(どちらもスプレッド設定は 30)

このようにGMT0のMT4で行った場合と同様のバックテスト結果となっていることが分かると思う

デメリットとしてはヒストリカルデータの時間を調整しない限りは米国夏時間と冬時間の期間で分けてバックテストする必要がある

デューカスコピーのヒストリカルデータは非常に精度が高いと評判だが、実際にEAを走らせるMT4口座で配信されていたプライスで行ったバックテスト結果の方が信頼性が高いのは明らかなので、上記のようにパラメーターを調整することで、GMT0以外のMT4でも参考となるバックテストを行う方法も知っていて損はないと思う

さいごに

自分でわざわざバックテストを行わなくても「リアル運用でしっかり結果が出ていれば問題ない」という意見もあるだろうが、自分でバックテストを行いデータを分析できるのとできないのとでは、やはりメンタル的な部分(EAに対する信頼性という意味)で違いが生じる可能性は高い(特に07やADXのようにロジック変更を含むをバージョンアップ(アップデート)が今後行われた場合

Beatriceのバックテストを諦めてしまっていた方、うまくできずに困っていたという方にとって今回の内容が少しでも参考になれば嬉しい

EA Beatriceシリーズが今後も活躍してくれることに期待しましょう

また今回取り上げた内容に関して何か不明な点、インポートやバックテストで困った点などがもしあれば、問い合わせページよりご連絡いただければ(分かる範囲内で)お答えします

Beatrice DELTA2
勝率80%超 1ポジ型Beatrice 年利100%
勝率80%超 1ポジ型Beatrice 年利100%?|?fx-on.com

-MT4 EA
-, ,

Copyright© 脱!敗者のゲーム , 2018 All Rights Reserved.