バックテストの方法
バックテストとは
バックテストとは、MT4でEA(自動売買プログラム)を実際に運用する前に、過去のチャートデータでどのような成績を残し、
収益をどれくらい獲得できているか、一時的に最大どれくらい資金が落ちたか(最大ドローダウン)などを検証する作業のことを指します。
いきなりバックテストをしないまま、実際に取引をすることは大変リスクがあるので、必ず自身の取引口座でバックテストを行う必要があります。
また、公開されているEAのバックテストのレポートも証券会社(MT4事業者)や通貨のスプレッドによって異なる場合があるので、注意が必要です。
バックテスト環境の事前準備
FXDD1分足(M1)ヒストリカルデータダウンロード
|
左記リンク(FXDD)より必要な通貨の1分足の
ヒストリカルデータをダウンロードします。 ※MT4からメタクオーツ社のヒストリカルデータもダウンロードできますが、 バックテストの結果があまり正確ではないです。 |
[wpdm_package id=’2931′] | 1分足から上位足へのヒストリカルデータを自動的に生成するプログラム[period converter ALL.ex4]を左記からダウンロードします |
ダウンロードした[period converter ALL.ex4]をMT4の「ファイル」⇒「データフォルダを開く」から
「MQL4」フォルダの中にある「Scripts」フォルダに入れます。
MT4の準備
MT4を立ち上げ「ツール」の「オプション」をクリックします。
ヒストリカルデータの導入準備
オフラインチャートを閉じてMT4を再起動します。
バックテスト
上部メニューの「ストラテジーテスター」を押すと下部にバックテストをする際の項目が現れます。
「MQL4」フォルダの「Experts」フォルダの中にEAのデータが入っていれば、コンボボックスからEAを選択することができます。
「スタート」を押すとバックテストが開始されます。
モデル |
バックテストの手法を3つの中から選択します。 「始値のみ」のテストはチャート生成中の動きは無視するため、チャートバーの開始にEAの取引が開始されるEA向けとなってます。バックテストは高速で終わります。 「コントロールポイント」はあまり正確なテストができないためおすすめしません。 「全ティック」は、チャートの動きも再現するためもっとも正確なバックテストが可能ですが、テストに時間がかかります。 |
期間を指定 | 期間を指定のチェックを入れると、バックテストをしたい期間を設定することができます。チェックをしない場合は全ての期間でバックテストを行います。 |
ビジュアルモード | 過去のチャートを表示しながら、EAがどこでエントリーをして、決済を行ったかなどを画面上で確認することができます。 |
期間 | EAをテストしたい時間足を選択します。「M1」は1分足「H4」は4時間足を意味します。 |
スプレッド | 「現在値」はリアルタイムのスプレッドを利用し、バックテストを行います。※指標発表などでスプレッドが大幅に変化しているときはそのスプレッドでバックテストを行ってしまうため、注意が必要です。また、為替が動いていない土日などもスプレッドが通常時と異なる状態で固定されている場合があるので、その際は直接値を入力することをおすすめします。 |
エキスパート設定
エキスパート設定を開くと、EAをバックテストする際の条件を入力する画面が出てきます。
MAGIC(マジックナンバー) |
EAに割り当てられる識別番号です。他のEAを稼働させている場合は、この値を重複させないようにする必要があります。(不具合が発生するため) |
Lots(ロット数) | 証拠金を取引に使う数量を設定します。上記証券会社は、0.1なら1000通貨、1.0なら10000通貨となっていますが、MT4運用会社によって異なる場合がありますので、不明な場合は証券会社ホームページ等で確認する必要があります。 |
StopLoss(損切値) | SLとも言います。取引中に指定の含み損が発生した場合、取引を終了し、損失を確定させます。 |
TakeProfit(利益確定値) | TPとも言います。取引中に指定の含み益が発生した場合、取引を終了し、利益を確定させます。 |
Slippage(スリッページ) | スリッページとは、実際に注文した際の値段と約定したときの値段の誤差を表します。いくら誤差まで許容できるかを設定できますが、
成り行き注文方式を採用している証券会社では、機能しない場合があります。 |
COMMENT(コメント) |
EAのバックテストや運用時には全く関係のないものなので、設定不要です。 |
そのほかの設定項目は、EAによって異なります。(移動平均線の日数やトレーリングストップの値の設定など)
バックテスト時のエラー対処法
[order send error]134 not enough money |
バックテストのEAの初期証拠金が少なすぎる、 またはロット数が初期証拠金を上回っている状態です。 初期証拠金を増やすか、ロット数を下げれば解消されます。 |
バックテスト結果の見方
バックテストが終了した際に「レポート」タブを押すと、バックテストの結果が表示されます。
不整合チャートエラー |
全ティックでバックテストをした際に機能します。テストチャートの中にエラーがある場合(例えばそのチャートバーの30分足の価格が105.5であるのにもかかわらず、1時間足の価格が105.6となっている)はどれくらい発生しているのかが表示されます。0に近い数値が好ましいです。 |
純益 | どれくらいの益または損が出たのがを表示します。 |
プロフィットファクタ(PF) | 1.0以上であれば、プラスの利益が出ていることを意味します。この数値が大きいほど利益を上げられるEAとなりますが、過剰に高い数値(PF3以上など)のEAは過剰最適化(カーブフィッティング)の可能性があるため注意が必要です。 |
最大ドローダウン | 過去の運用で、手持ちの資金に対して何%の落ち込みがあったのかを表示します。 |
モデリング品質 | 主に「全ティック」でテストしたときに参考にします。90%付近(MT4業者によって最大値が異なる可能性もあります)で表示されていればバックテストの信頼性は高いです。 |
バックテストレポートの出力
上図のようなEAのバックテスト結果のレポートを見ることがあるかと思いますが、
これはMT4のストラテジーテスターのレポートから出力することができます。
レポートのところで、どこでも構わないのでマウスで右クリックをすると、「レポートの保存」という項目が出てくるので、
これをクリックして好きな名前で「名前を付けて保存」をすると、ストラテジーテスターレポートをブラウザで確認することができます。