MT4・MT5を利用して自動売買ストラテジーの「EA」を利用する場合に避けて通れないのが「バックテスト」です。今回は、バックテストの設定・最適化・結果レポートの見方について解説します。
MT4・MT5のバックテストとは?
MT4・MT5のバックテストとは
を言います。
まずは見てもらえればわかりやすいのですが・・・
MT5にプリインストールされているEA「Moving Average.ex5」を
- 昨年1年間
- 米ドル/円
- 残高:1万ドル
- 1時間足
で動かしてみると・・・
- 総取引数:72回
- 勝ちトレード:12回
- 負けトレード:60回
- 利益:435.63
- 損失:-594.86
- 損益:-159.23
・・・
というような結果が出て、グラフでも項目別にレポートが表示されるのです。
これがMT4・MT5の「EA」バックテストです。
あくまでも、過去の為替データでのシミュレーションではありますが・・・
これを見れば
「このEAは、昨年データの運用成績が悪いから、利用するのを辞めておこう。」
「このEAは、昨年データでの勝率が高い。ぜひ購入しよう。」
→ EA利用のジャッジをするのに使う
「このEAは、1時間足よりも、15分足で有効になるようだ。15分足でもバックテストをしてみよう。」
「このEAは、米ドル/円よりも、ポンド/円の方が勝率が高いようだ。」
→ EA設定の最適な設定を探すために使う
「自作のEAを開発しているんだけども、途中段階で機能するか調べてみたい。」
→ 開発中のEAの性能チェックのために使う
というような使い方ができるのです。
MT4・MT5の「EA」バックテストを極めれば、質の良いEAの見極めや最適な設定方法を知ることができるのです。
MT4・MT5の「EA」を入手したら、販売サイトでバックテストのレポートが表示されていたとしても、もう一度自分でバックテストを行い
- 本当に販売元のバックテストのデータが正しいかのチェック
- 最適な設定はどれかの検証
をするために、「EA」のバックテストをしてみることをおすすめします。
EAのバックテストの設定方法
「設定」
メニューバーにあるバックテストの起動アイコン「ストラテジーテスター」をクリックします。アイコンが表示されていない場合は、メニューバーの「表示」から「ストラテジーテスター」をクリックしします。
チャートの下の枠に「ストラテジーテスターウィンドウ」が表示されます。
「ストラテジーテスターウィンドウ」の中でバックテストの「設定」をします。
- EAを選ぶ
- 通貨ペアを選ぶ
- 時間軸を選ぶ
- モデルを選ぶ
「全ティック」は、ティックデータ(1分足データ)を使用してバックテストを行います。
※「全ティック」は、1分足のデータでバックテストをするので、精度が高くなる半面、テストに時間がかかるデメリットがあります。
「コントロールポイント」は設定した時間軸の一つ下の時間軸データを使用してバックテストを行います。
「始値のみ」は、設定した時間軸の始値データのみを使用してバックテストを行います。
- 期間を選ぶ
バックテストの「開始日時」と「終了日時」を選びます。当然過去の日付を選ぶことになります。検証するテスト期間が長ければ長いほど、精度が上がるのですが、データの量が増えるので検証に時間がかかります。また、古いデータすぎると最近の値動きと違う可能性が高く、バックテストの運用成績が現在の運用成績と乖離してしまうため、長すぎる設定は避けた方が良いでしょう。
その他、MT4とMT5で違いがありますが・・・
MT4
- スプレッド
MT5
- 約定スピード
などの設定が可能になっています。
「スタート」をクリックします。
バーが緑色になるとバックテスト完了です。
「結果」
テストした売買履歴が一覧表示されます。
- 取引時間
- 取引種別
- 数量
- 価格
- 残高
が表示されます。
「グラフ」
口座残高(資産)の残高の推移が折れ線グラフで表示されます。
レポート
バックテストでのEAの検証結果が細かく表示されます。
今回、バックテストで使用したのはMT4にプリインストールされている「Moving Average」のEAです。
これを
- 通貨ペア:米ドル/円
- 時間足:1時間足
- 期間:直近1ヶ月
で起動した場合の運用成績レポートは
- 初期証拠金:10000
- 純利益:438.79
- 最大ドローダウン:2.74%
- 勝敗:5勝14敗
- 勝トレード:155.57
- 敗トレード:-24.22
となっています。
月間利回りは4.38%は、非常に高い運用成績と言っていいでしょう。検証月の直近1カ月に限って言えば、「Moving Average」は勝率は低いものの、運用成績の高いEAであると言えます。
設定を変更しながら、バックテストを行う
EAのバックテストは前述した通りで、設定項目がかなり多いのです。
- 通貨ペア
- 検証期間
- 時間足
- (スプレッド)
- (約定スピード)
など、いろいろな設定によって、テスト結果は変わってきます。
1回のバックテストで満足するものではなく、いろいろな条件でテストをしてみる必要があるのです。
EAのバックテストで設定を変更
検証パターン1
通貨ペア:米ドル/円
時間軸:1時間足
結果
初期証拠金 10000
純利益 438.79
残高推移
レポート
検証パターン2.通貨ペアを変更
通貨ペア:ユーロ/円
時間軸:1時間足
結果
初期証拠金 10000
純利益 -136.99
残高推移
レポート
検証パターン3.通貨ペアを変更
通貨ペア:ユーロ/米ドル
時間軸:1時間足
結果
初期証拠金 10000
純利益 -60.13
残高推移
レポート
検証パターン4.通貨ペアを変更
通貨ペア:ポンド/円
時間軸:1時間足
結果
初期証拠金 10000
純利益 -627.16
残高推移
レポート
検証パターン5.時間軸を変更
通貨ペア:米ドル/円
時間軸:5分足
結果
初期証拠金 10000
純利益 -845.76
残高推移
レポート
検証パターン6.時間軸を変更
通貨ペア:米ドル/円
時間軸:15分足
結果
初期証拠金 10000
純利益 -109.38
残高推移
レポート
検証パターン7.時間軸を変更
通貨ペア:米ドル/円
時間軸:4時間足
結果
初期証拠金 10000
純利益 -211.95
残高推移
レポート
という形で、いろいろ設定を変えてテストして最適値を探るのです。
しかし、
- 通貨ペア
- 検証期間
- 時間足
- (スプレッド)
- (約定スピード)
と選択肢が多すぎて、個別にテストしていたら、いつまでたっても検証が終わらなくなってしまいます。
「EA」バックテストで設定の最適値を検証する方法
ストラテジーテスターウィンドウの右上にある「エキスパート設定」をクリックします。
設定画面が表示されます。タブの「パラメーターの入力」をクリックします。
バックテストに利用したEA「Moving Average」の設定時に選べるパラメーターが表示されています。
- Lots:最小ロット数
- MaximumRisk: 最大投資リスク(0.01~1.00まで指定可)
- DecreaseFactor:負けトレード回数によってロット数を下げる減少係数(通常は2~5)
- MovingPeriod:移動平均期間
- MovingShift:移動平均のシフト値
移動平均期間の値は12になっていますが、この値の「スタート」を5に変更します。
この設定で「移動平均期間を5から12の間で自動的に動かして検証し、移動平均期間の最適値を見つける」ことができるのです。
「OK」をクリックしてウィンドウを閉じます。
「ストラテジーテスターウィンドウ」に戻って右下の「最適化」チェックボックスを入れて、「スタート」をクリックします。
「最適化結果」というタブに移動平均期間が5、6、7、10という結果が表示されます。
移動平均期間の検証で一番良かった値は
- 損益:797.16 → 移動平均期間:10
であることがわかるのです。
右クリックして「パラメーターの設定」ボタンをクリックすると最も成績の良かったバックテストの設定で、再度バックテストを行うことができます。
EAのバックテストのレポートの設定方法と見方
MT4・MT5には「EA」のバックテストをすると、その運用結果をレポートとして出力してくれる機能があります。
- 運用成績
- グラフ
が1ページで表示され、htmファイル(ウェブサイトで表示されるファイル形式)で保存できる機能があります。
レポートは保存することができるので、このレポートを見ながら、EAの性能を比較検証すれば良いのです。
EAのバックテストのレポート保存の方法
「ストラテジーテスターウィンドウ」でバックテストを行います。
「結果」のタブを開きます。
右クリックして「レポートの保存」を選択します。
ファイル名をつけて保存します。.htmファイルです。
.htmファイルを読み込む画面になります。.htmファイルはウェブサイトの形式ですのでブラウザで開きます。
今回はChromeで開きます。
レポートが表示されます。
MT4のバックテストレポート
MT5のバックテストレポート
「EA」バックテストのレポートの見方
重視すべき項目
- 総損益
- 総取引数
- 勝率
- 最大ドローダウン
です。
総損益
総損益は、
- 儲かったか?
- 損をしたか?
の最終的な数値ですので、当然注目しなければなりません。
儲かっているのが前提で「どのくらいの利回りで資産を増やすことができたのか」をチェックする必要があります。
総取引数
総取引数は、トレード機会と考えて良いでしょう。トレード機会の少ないEAは、動かしてもなかなかトレードしてくれません。また、トレード機会が少ないバックテストの検証結果は、精度が低く、再現性が低くなってしまいます。100回以上のトレード機会は欲しいところです。
勝率
勝率は損益に直結はしませんが、勝率が著しく低いEAも、将来の再現性が低い可能性が高いのです。
最大ドローダウン
最大ドローダウンは「資産が最大で何%下落したか?」を示す指標です。最大ドローダウンが大きいEAの場合、レバレッジを大きくしてしまうと、途中で強制ロスカットされてしまう可能性が高いのです。
項目 | 説明 |
---|---|
通貨ペア | 通貨ペア |
期間 | 検証した時間軸 |
テストバー数 | バックテストに使用したロウソク足の本数 |
モデルティック数 | バックテストに使用したティック数 |
モデリング品質 | 時間軸が短いほど高い数値 |
不整合チャートエラー | エラーのあったバーの数 |
初期証拠金 | 初期の証拠金額 |
スプレッド | 買値と売値の差 |
総純損益 | 総利益 - 総損失 |
総利益 | バックテスト中に確定した利益の合計 |
総損失 | バックテスト中に確定した損失の合計 |
プロフィットファクタ | 期間中の利益を損失で割った値 |
期待利得 | 総純損益/取引回数 |
絶対ドローダウン | 初期投資額からの下落幅 |
最大ドローダウン | 最大資産からの下落幅 |
相対ドローダウン | 全取引中の最大損失 |
総取引数 | 取引回数の合計 |
売りポジション(勝率%) | 売りポジションの取引回数(勝率) |
買いポジション(勝率%) | 買いポジションの取引回数(勝率) |
勝率(%) | 利益が出た取引回数(割合) |
負率 (%) | 損失が出た取引回数(割合) |
最大勝トレード | 全取引中の最大利益 |
最大敗トレード | 全取引中の最大損失 |
平均勝トレード | 全取引中の平均利益 |
平均敗トレード | 全取引中の平均利益 |
最大連勝(金額) | 連勝取引の金額合計 |
最大連敗(金額) | 連敗取引の金額合計 |
最大連勝(トレード数) | 最大連勝取引回数 |
最大連敗(トレード数) | 最大連敗取引回数 |
平均連勝 | 平均連勝取引回数 |
平均連敗 | 平均連敗取引回数 |
まとめ
MT4・MT5で「EA」自動売買をするのであれば「バックテスト」は必要不可欠なツールと言えます。
注意しなければならないのは「バックテスト」は、あくまでも過去の為替データでの検証であって、未来の為替データで同じパフォーマンスを約束されたものではないということです。
とはいえ、過去の為替データでも機能しない「EA」が未来の為替データで機能する確率が低いのは、当然のことでもあります。バックテストは、「EA」の性能をジャッジするものとして、使いこなすべき機能と言えるのです。
裁量トレードでおすすめのインジケーター
「MT4のバックテストのやり方を教えてください。」
「MT4のバックテストって何を見れば良いのでしょうか?」