MT4入門講座も10回目です。
前回までで、過去データ(ヒストリカル・データ)を入手するところまでマスターしたので、
いよいよ売買戦略の検証(バックテスト)の仕方に挑戦していきます。
MT4を使った自動売買(システムトレード)を考えている方なら
ぜひ学んでおきたい部分だと思います。
注意したいのは自動売買にはEA(エキスパート・アドバイザー)と呼ばれる、
カスタム・インジケーターとは別のプログラムが必要です。
今回はMT4標準搭載のEA「Moving Average」(移動平均線)を使って、
まずは「バックテスト」のやり方を紹介していきます。
ストラテジー・テスターを起動
MT4の「表示」からStrategy Testerを起動します。
ショートカットCtrl+RやメニューバーのアイコンでもOKです。
セッティングタブを選択して、順次項目を選択していきます。
MT4をインストールしたフォルダ直下の「Experts」に保存さているEAが表示されます。
標準では「Moving Average」「MACD sample」が搭載されています。
バックテスト対象のペアを選択します。
検証する時間足を設定します。1分(M1)から日足(D1)まで選べます。
- Every Tick
- Control Points
- Open Price Only
Tickデータを使って売買戦略を検証します。
最も精度は高いですが、EAや検証期間によってとんでもなく時間がかかります。
設定時間足よりもワンランク短い時間足の4本値データを使います。
検証制度はEvery Tickに劣ります。
設定足の4本値のうち、始値(Open Price)だけを使って検証します。
検証時間が短くさっくり終わりますが、精度はControl Pointより劣ります。
検証期間を絞り込みたいときに使用します。
過去(ヒストリカル)データのログ量に対応しています。
EAの動きと売買シグナルを視ながら検証できますが、重くなります。
スライダーで速度が、Skip Toで任意の日時まで飛ばすことも可能です。
Optimize(最適化)について
MT4のバックテストが優れている点のひとつにOptimization(最適化処理)というのがあります。
最適化処理とは、セットしたEAで変更できる部分(MAの期間(パラメータ)やロット数)などを
適宜変更していくことにより、最も成績の良い組み合わせを探すことです。
最適化処理でパラメータの組み合わせを変えていくと、どんどん成績が良くすることができますが、
繰り返していくうちに勝率100%のEAにたどり着くこともあります。
ここで気を付けたいのは、これは決して夢の聖杯を見付けたわけではなく、
過度の最適化で過去のチャートの形にぴったりと合わせたEAが出来ただけです。
こうした過度の最適化はカーブフィッティングと呼ばれ、
実戦ではまるで役に立たないEAになってしまうので注意が必要です。
最適化を行う時は「Optimization」をチェックして、
「Expert Property」で項目を調整していきます。
バックテストスタート!
各項目の入力・選択を終えて、右下の「スタート」を押すとバックテストが始まります。
しばらく待つと「ピッピヨ♪」と音が鳴ってテスト終了です。
EAによる売買戦略の有効性を確認するには特に「結果」「Graph」「レポート」を見ていきます。
うーん。見るも無惨な成績になっていますね。
レポートの各項目は以下のようになっています。
Bars in test:バックテストしたバーの総数
Ticks modeled:テストで使用したティック総数
Modeling quality:テストで使用したバーの品質(90%が理想とされます)
Mismatched charts errors:テストでエラーのあったバー数
initial deposit:初期資金
Total net profit:総純損益
Gross profit:総利益
Gross loss:総損失
Profit factor:プロフィットファクター(総利益/総損失)(PF2.00以上が望ましい)
Expected payoff:期待損益(総純損益/総トレード数)
Absolute drawdown:初期資金からのドローダウン
Maximal drawdown:テスト中の最大ドローダウン
Relative drawdown:ドローダウン比率
Total trades:トレード総数
Short positions(won%):売ロット数(勝率)
long positions(won%):買ロット数(勝率)
Profit trades(%of total):勝ちトレード数(率)
Loss trades(%of total):負けトレード数(率)
Largest profit trade:1トレード当たりの最大利益
Largest loss trade:1トレード当たりの最大損失
Average profit trade:勝ちトレードの平均利益
Average loss trade:負けトレードの平均損失
Maximum consecutive wins:最大連続勝ちトレード数(利益)
Maximal consecutive losses:最大連続負けトレード数(損失)
Maximal consecutive profit:最大連続利益(勝ちトレード数)
Maximal consecutive loss:最大連続損失(負けトレード数)
Average consecutive wins:平均連続勝ちトレード数
Average consecutive loss:平均連続負けトレード数
レポートは右クリックでレポートの保存が可能ですので、
いろいろとストックして戦略構築の参考にしましょう。
以上、今回はMT4のバックテスト方法を紹介しました。





