FX-EA System Projectはこちら公式ラインに登録して
プレゼントをもらう

【MQL】EAの過去のパーフォーマンスをシミュレーションする『バックテスト』についてわかりやすく説明してみた

MQL EA(エキスパートアドバイザー) バックテスト MT4EA作成

バックテスト

MT4にはバックテスト機能があり、過去の為替のデータを使い

EAの過去パフォーマンスをシミュレーションをすることができます。

過去のデータを検証することをバックテストと呼びます。

バックテストを取る方法

バックテストを取る方法を説明していきます。

バックテストと聞くと難しそうな印象もあると思いますが、

一度やってみると簡単ですので是非チャレンジしてみましょう。

ストラテジーテスターを選択する

まずはじめに、MT4 を起動してメニューバーから「表示→ストラテジーテスター」を選択します。

バックテストの設定する

バックテストの設定しましょう。

今回はMT4に既存に入っている「MovingAverage」を使います。

MQL EA(エキスパートアドバイザー) バックテスト 

項目は以下のとおりです。

項目説明
エキスパートアドバイザーバックテストするEAを選択
エキスパート設定パラメーターなどEAの詳細を設定
通貨ペアバックテストをしたい通貨ペアを選択
モデル全ティック、コントロールポイント、始値のみから選択
期間時間足を指定
期間を指定開始日と終了日を設定
スプレッド現在値もしくは既定の数値を選択
ビジュアルモードチャートにエントリーポイントなどを表示

EA初心者の人は、

  • モデル:全ティックを選択
  • 期間を指定:1年前の日付を指定
  • スプレッド:現在値を選択
  • ビジュアルモード:チェックを入れない

などの設定してバックテストをすると良いです。

スタートボタンを押す

設定ができれば、スタートボタンを押すと、バックテストが始まりまります。

完了すればバックテストのテスト結果のデータを得ることができます。

バックテスト結果

結果タブをクリックするとバックテストの結果を確認することができます。

MQL EA(エキスパートアドバイザー) バックテスト 

項目は以下のとおりです。

表示説明
注文の順番
時間約定時間
取引種別注文の種類
注文番号約定したポジションの順番
数量ロット数
価格約定したレート
S/L決済逆指値ストップ注文の価格
T/P決済指値リミット注文の価格
損益保有ポジション毎の決済、確定損益
残高残高

レポート

レポートタブをクリックするとさらに詳細な情報を確認することができます。

MQL EA(エキスパートアドバイザー) バックテスト 

ここで重要な見る観点は以下のとおりです。

  • 純益:どれだけ利益が出たか
  • プロフィットファクタ:総利益が総損失の何倍かを示す数値
  • 最大ドローダウン:最大の口座残高からの下落率
  • 総取引数
  • 勝率:勝ちトレードの割合
  • 平均勝トレード / 平均敗トレード:勝ちトレードの平均金額と負けトレードの平均金額

それぞれについて説明します。

純益

純益とはEAがどれだけ利益を出すのかという項目です。純益は多ければ多いほうが良いです。

バックテストで純益がプラスにならないと使い物にならないEAということです。

プロフィットファクタ

プロフィットファクタはリスクに対してreturnがどれだけ大きいかを表しています。

  • 1未満:損失が出る
  • 1より大きい:利益が出る

これも大きい方が良いですが、バックテストのプロフィットファクタは大きすぎるものは注意が必要です。

プロフィットファクタが大きすぎるということは、カーブフィッティングの可能性があるからです。

一般的に1.5~2.0くらいが優秀と言われます。

最大ドローダウン

最大ドローダウンは連敗を含めた実際に連続で失った金額です。

これは最も負けたときの負け幅になります。

EAを使う際は最大ドローダウンのリスクを覚悟する必要になるという意味にもなりますし、

どれだけ資金を用意すればよいかという判断材料にもなります。

総取引数

総取引数は成績に直接関係はないですが、総取引数が少ないと各指標の信頼性が下がります。

最低でも100回以上は好ましいです。

勝率 / 平均勝トレード / 平均敗トレード

勝率は大切ですが、勝率だけではあまり重要ではないです。

勝率の数字は1回の勝ち/負けの金額に変わらないので、

  • 計10回トレード:1勝9負→トータルプラス
  • 計10回トレード:9勝1負け→トータルマイナス

ということがトレードの世界にはあります。

EAの特徴によるので賛否はありますが、勝率に加えて平均の勝ちと負け額のバランスは大切です。

資産グラフ

グラフタブをクリックすると資産グラフを見ることができます。

 

MQL EA(エキスパートアドバイザー) バックテスト 

資産グラフとは、EAの成績がどのようになっているのかを示したグラフです。

  • 右肩上がりのグラフ→資産が増えている
  • 右肩下がりのグラフ→資産が減っている

2段目にある緑のグラフは数量のグラフになります。

これはトレード毎に発注数量が変動する場合に表示されます。

ヒストリカルデータ

バックテストは過去のチャートデータを利用してEAの検証を行います。

検証に使用されるチャートデータはヒストリカルデータと呼ばれます。

ヒストリカルデータの精度によってもバックテストの結果の正確性が変わってきます。

既存の業者

既存の業者を利用する場合は、まず上部メニュー内のツールから

「ヒストリーセンター」からバックテストを行いたいEAの通貨ペアを選びましょう。

MQL EA(エキスパートアドバイザー) バックテスト ヒストリカルデータ

通貨ペアを選んだらその中にある1分足(M1)を選びダブルクリックします。

他の時間足を選ばないようにしましょう。

MQL EA(エキスパートアドバイザー) バックテスト ヒストリカルデータ

ウィンドウの左下にある「ダウンロード」をクリックしましょう。

MQL EA(エキスパートアドバイザー) バックテスト ヒストリカルデータ注意ポップアップが出ますが、気にせずOKで進めましょう。

MQL EA(エキスパートアドバイザー) バックテスト ヒストリカルデータ

ヒストリカルデータが取れたら完了です。

FXDD

MQL EA(エキスパートアドバイザー) ヒストリカルデータ FXDD

FXDDはヒストリカルデータで利用されることが多いです。

FXDDのヒストリカルデータは下記リンク先からダウンロードできます。

Tickstory

MQL EA(エキスパートアドバイザー) ヒストリカルデータ Tickstory

バックテストとリアルトレードの成績の差を埋めるため、

一つの視点として検証(バックテスト)の質をどこまで高められるかという課題があります。

Tickstoryを使うとリアルなティックデータななので正確性は上がり、モデリング品質は99%に達します。

Tickstoryは2つのプランがあります

  • 無料版
  • 有料版

Ticksotyのデータを使えば、よりバックテストの正確性は上がると言えます。

さらに擬似ティックデータとTickstoryデータ両方のテスト成績にあまり差がなければ、

そのEAの信頼性は高いと考えられます。

カーブフィッティング

カーブフィッティングとは、システムを過去の相場に動きに合わせるように過剰な最適化を行うことです。

バックテストの結果に満足できないとシステムを最適化します。

カーブフィッティングされたEAは過去の相場の動きにだけ合うように出来上がってしまい、

未来の相場で検証するフォーワードテストでは全く通用しなくなります。

まとめ

今回はバックテストについてわかりやすく説明しました。

バックテストはEAを作る際に非常に大切になりますし、開発とテストはワンセットとして考えても良いです。

しっかりとバックテストの方法をマスターしましょう。

コメント

タイトルとURLをコピーしました