この記事では、EAのバックテストのやり方について解説します。
EA(エキスパートアドバイザー)のバックテストのやり方を覚えると一気に世界が広がります。
市販のEAや自作するEAの検証を行う事ができます。
検証して確信がもてないと長期運用する事はできません。
EAのバックテストのやり方を覚えて、検証の第一歩を踏み出しましょう。(めちゃ、簡単です)
EA開発者のやり方ですので、覚えていて損はないと思います。
(既にバックテスト実施可能な人は、この記事をスキップして頂いて結構です)
Contents
バックテストを実施するまでの手順
まずは、バックテストをするまでの手順を解説します。
1. 準備 ① MT4
2. 準備② 練習用EA
3. EAの保存
4. ストラテジーテスターの表示
1. 準備 ①
最低限の準備としてMT4をインストールする必要があります。
検証する場合は、どこの証券会社でも構いません。
2. 準備 ②
練習に使う為のEAを準備しておく必要になります。
EAを持っていない場合の入手方法
①市販のEAを購入する
②サイト検索で無料のEAを入手する
③本の付録のEAを入手する
EAを持っていない場合は、③本の付録のEAをお薦めします。
以前の記事で、EA学習用に紹介した以下の2冊は、サンプルEAがDLできます。
+---①②を推奨しない理由-------------+
①市販のEAを購入する
市販のEAは、安くても1万円以上です。
まだ練習段階であり、市販のEAを購入する必要はありません。
自身でEAを見極められるようになったけら、市販のEAについては検討しましょう。
②サイト検索で無料のEAを入手する
無料のEAは、メールアドレスの登録や海外証券会社の登録が条件であったりします。
無料ほど、将来的に損する額が大きなると身構えた方が無難です。
信用できるサイトで、無料のソースコードを使ってMQ4ファイルから実行ファイルを作るのであれば、問題ないと思います。
3. EAの保存
以下は、本の付録EA(ea3_2.ex4)*1でバックテストを行う前提で解説します。
各自で準備したEAに置き換えて、進めて頂ければ結構です。
*1 「新MT4対応ライブラリによるメタトレーダーEA実践プログラミング」の付録の一つのEA
作業手順
① ファイル - データフォルダを開く - MQL4 - Experts
② Experts に EA(.ex4)を保存する。
③ ★ナビケータ - エキスパートアドバイザーを右クリック - 更新
④ エキスパートアドバイザーの下にEAが現れていたら、ここまでOKです。
4. ストラテジーテスターの表示
作業手順
① ストラテジーテスターを開く
下図のボタンをクリック (又は 表示 - ストラテジーテスター)
② 以下のウィンドが現れたら、バックテストの準備が完了です。
バックテストの実施(ストラテジーテスターの使い方)
バックテストは、このストラテジーテスターを使います。
バックテストの条件設定
① 用途 :バックテストを行うので、「エキスパートアドバイザー」を選択します。
② EAの種類 :検証するEAを選択します。
③ 通貨ペア :検証する通貨ペアを選択します。
④ 期間 :検証する時間足を選択します。
⑤ スプレッド :
検証するスプレッドを選択します。直接数値を打ち込む事もできます。
基本的にバックテストに利用するヒストリカルデータはBid(売値)のみです。
その為、スプレッド [ = Bid(売値)とAsk(買値)の差 ]を自分で設定する必要があります。
一般的に、スプレッドの単位はPipsですが、ここでは、Point(ポイント)単位になっています。
PipsをPointに変換する場合は10倍する必要があります。(1.0 pips = 10 point)
実際に使用する証券口座のスプレッドに余裕を加えて検証するのがよいと思います。
⑥ モデル : 以下の3種類から選びます。
・全ティック(利用可能な最小時間枠を使い全てのティックを生成する。最も正確な方法)
・コントロールポイント(一つ下の時間枠を使った大まかな方法。結果はあまり信用性はない)
・始値のみ(最も早い方法。バーの始めにしか動かいないEA向け)
検証精度が求められる場合は、全ティック評価が必須になります。
しかし、検証途中では、精度より速度を優先する場面もあります。
EAの種類によりますが、「コントロールポイント」や「始値」でも精度が落ちない場合もあります。
EAの種類や状況によって使い分ける事が重要です。
⑦ 期間を指定 :
チェックを入れた場合、⑧で指定した期間で検証します。
チェックを入れない場合、保存した全データの期間で検証します。
検証期間が変わると比較できないので、チェックを入れて検証期間を固定するのがよいと思います。
但し、MT4インストール後の初期状態では、ヒストリカルデータ(過去データ)の期間が短いので、その場合はチェックを入れない状態で練習しましょう。
長期間のヒストリカルデータの入手方法は、この後の記事で解説しています(FXDDのヒストリカルデータをバックテストに使う方法)
⑧ 開始日/終了日 : ⑦でチェックを入れた場合の検証期間
⑨ ビジュアルモード :
チェックを入れた場合、チャートが形成される過程を見ながら検証できます。
チェックを入れない場合、チャートが形成される過程は省略されます。
チェックを入れない場合でも、検証後に全チャート結果をチェックできます。
私は、ビジュアルモードは使いません。
⑩ 最適化 :
パラメータの最適化を行う時にチェックを入れます。
パラメータの最適化は、カーブフィット*1の原因になるので、あまり推奨できません。
私は、EAを開発する際、この機能は使っていません。
*1 カーブフィットとは、バックデータで良い成績となるように過剰にルール/パラメータを調整すること。
カーブフィットすると、実際には優位性がないシステムが、優位性があるように見えてしまう事が問題となります。
カーブフィットについては、今後の記事で取り上げます。
バックテストの実行と結果
① スタート :セッティングの条件が完了すれば、スタートで検証を開始します。
② 横バー :検証を開始すると左端から緑に変わり、右端までくると検証完了です。
③ 結果タブ :検証時の売買履歴を確認する事ができます。
④ グラフタブ :検証時の資産曲線を確認する事ができます。理想は、綺麗な右肩上がりの曲線です。
⑤ レポートタブ :検証結果を数値で見る事ができます。結果の見方について、次の記事で解説します。
右クリック - レポート保存 を選択すると、レポート+グラフ+結果を一つにまとめたファイルを保存する事ができます。
以下のようなファイルが出力されます。
⑥ 操作履歴 : 検証中の操作履歴が表示されます。
その他の機能
① エキスパート設定
テスト設定タブ
・初期証拠金(金額、通貨)を選択できます。
・Long&Short(買い/売り)、Long only(買いのみ)、Short only(売りのみ)を選択できます。
・最適化
・最適化パラメータ(何を最適化するかを選択できます。)
・遺伝的アルゴリズムにチェックを入れると効率よく最適化計算が行われます。
パラメータの入力タブ
『値』を変更する事で、パラメータを変更することができます。
『スタート』『ステップ』『ストップ』は、最適化する際のパラメータの条件です。
スタート:開始の値、ステップ:刻み、ストップ:終了の値 を入力します。
最適化タブ
最適化する際に、制限を加えます。値に達した時点で、テストを途中でパスします。
② 通貨ペアのプロパティ
・スプレッド :バックテストの条件設定で現在値を選択したときに使われる値。開始したタイミングで値が変わるので、現在値より数値指定した方がいいです。
・小数桁 :通貨ペアの小数点以下の桁数
・ストップレベル:ストップロス注文したときに、エントリ可能なレベル。EAの注文方法により影響する。
③ チャートを開く
バックテスト結果の全チャートが確認できる。
システムが想定通りに売買を行っているかをチェックするのに使う。
④ エキスパート編集
MQ4ファイルがある場合は、メタエディターが開く。
MQLファイルを編集する際に使う。
まとめ
この記事では、EAのバックテストのやり方(準備~実施)について解説しました。
上手く検証できなかった場合は、過去データのインストールに失敗している可能性があります。
以下を参考にしてみて下さい。
次の記事で、バックテスト結果の具体的な評価の仕方について解説します。
目次