AI EA スクール
0記事中 0記事 読了
カリキュラム 第5章 バックテスト ストラテジーテスターの使い方
5-2

ストラテジーテスターの使い方

読み終わるまでの目安 約25分

この記事でできるようになること

  • MT4の「ストラテジーテスター」を開き、各設定項目の意味が分かる
  • サンプルEA(RSI_Reversal_Sample)を、決めた条件でバックテストできる
  • テストの進み具合と終了を自分で確認できる

準備するもの

  • 前の記事でヒストリカルデータを準備したMT4
  • コンパイル済みのサンプルEA(RSI_Reversal_Sample.ex4 がナビゲーターに表示されている状態)

手順

手順1 ストラテジーテスターを開く

ストラテジーテスターとは、EAを過去データで動かして成績を計算する、MT4に最初から付いている機能です。

  1. MT4上部のメニューから「表示」→「ストラテジーテスター」を選びます。ショートカットは [Ctrl]+[R] です。
  2. 画面の下側に、横長のパネルが出てきます。これがストラテジーテスターです。

パネルの上端をマウスでドラッグすると高さを変えられるので、見やすい大きさに広げておきましょう。

ここからは、パネル左側の設定項目を上から順に見ていきます。

手順2 テストするEAを選ぶ

  1. 一番上の欄で「エキスパートアドバイザ」が選ばれていることを確認します(「インディケータ」になっていたら切り替えます)。
  2. その右のドロップダウンを開き、「RSI_Reversal_Sample」を選びます。

ドロップダウンに出てこないときは、コンパイルに失敗しているか、保存場所が違います。第4章の「MT4にEAを表示させる」を見直してください。

手順3 通貨ペアを選ぶ

「通貨ペア」の欄で「USDJPY」を選びます。前の記事でヒストリカルデータを準備した通貨ペアと同じものにしてください。データを準備していない通貨ペアを選ぶと、テストが正しく動きません。

手順4 時間足を選ぶ

「期間」の欄で「H1」を選びます。要確認H1は1時間足のことで、M1=1分足、M5=5分足、H4=4時間足、D1=日足という表記です。

サンプルEAは「1時間足でRSIの行きすぎを見る」設計なので、ここはH1です。時間足を変えるとEAの動き方そのものが変わるので、まずは設計どおりの時間足でテストします。

手順5 モデルを「全ティック」にする

「モデル」の欄は、MT4が値動きをどこまで細かく再現するかの設定です。3つの選択肢があります。

モデル 内容 速さ 正確さ
全ティック 1分足データから細かい値動きを再現する 遅い 高い
コントロールポイント 途中の値動きをざっくり補う
始値のみ 各ローソク足の始値だけで判定する 速い 低い

本スクールでは「全ティック」を選びます。時間はかかりますが、一番現実に近い結果になるためです。「始値のみ」は速い代わりに、利確や損切りのタイミングが実際とずれるため、成績が大きく違ってきます。

手順6 テスト期間を指定する

  1. 「期間を指定」のチェックボックスをオンにします。要確認
  2. 「開始日」と「終了日」を入力します。例として、開始日を「2023.01.01」、終了日を「2025.12.31」とします。

期間は長いほど、いろいろな相場の状態(上がり続けた時期、下がり続けた時期、動かない時期)を含むことになり、結果の信頼度が上がります。最初は2〜3年ほどを目安にしてください。あくまで目安であり、準備したデータの範囲内であれば自由に変えて構いません。

チェックを入れないと、MT4にあるデータ全期間でテストされます。それでも問題はありませんが、あとで「同じ条件でもう一度」と比較するときに期間がはっきりしている方が便利なので、指定しておくことをおすすめします。

手順7 スプレッドを設定する

スプレッドとは、買値と売値の差のことで、実質的な取引コストです(第1章で説明しました)。

「スプレッド」の欄には、数値を直接入力して固定します。本スクールでは「現在値」は使いません。「現在値」を選ぶと、テストを始めた瞬間のスプレッドがそのまま使われるため、深夜や休日などタイミングによって値が変わり、同じEA・同じ期間でもテストのたびに結果が変わってしまうからです。第6章で改善の効果を比べるときに、スプレッドが毎回違うと比較になりません。

入力する値は「20」で固定します。本スクールの記事は、すべてこの値でテストした前提で説明します。この数字の単位は「ポイント」で、HFMのように小数点以下3桁(ドル円)で表示する業者では、10ポイント = 1pips です。つまり「20」は2.0pipsに相当します。HFMのドル円の平均的なスプレッドより少し広めの値なので、実際より厳しめの条件でテストすることになります。要確認

「少し厳しめ」にしておくと、実際に運用したときに「テストより悪くなった」というがっかりを減らせます。

手順8 エキスパート設定(初期証拠金とinput変数)

パネル右側の「エキスパート設定」ボタンを押すと、EA固有の設定ダイアログが開きます。

「テスト設定」タブ

  • 「初期証拠金」: テスト開始時の口座残高です。「1000000」(100万円)と入力し、通貨は「JPY」を選びます。2-2で開設したデモ口座の初期金額(1,000,000円)と条件を揃えるためです。要確認
    • 金額は実際に運用する予定の額に近い方が、あとで「ドローダウン◯%」の感覚がつかみやすくなります。ここでの金額は計算上の数字であり、実際のお金が動くわけではありません。
  • 「ポジション」: 「ロング&ショート」のままにします。買いも売りも両方テストする、という意味です。要確認
  • 「最適化」に関する項目は、今は触りません(第6章で使います)。

「パラメータの入力」タブ

ここに、サンプルEAのコードで input と書かれていた変数が並びます。要確認プログラミングの話に聞こえますが、要するに「EAの調整つまみ」です。コードを触らずにここの数字を変えるだけで、EAの動きを変えられます。

変数名 意味 初期値
RSIPeriod RSIの期間 14
BuyLevel この値を下回ったら買い(売られすぎ) 30
SellLevel この値を上回ったら売り(買われすぎ) 70
TakeProfitPips 利確の幅(pips) 50
StopLossPips 損切りの幅(pips) 30
Lots 1回の取引のロット数 0.1
MagicNumber EAが自分の注文を見分ける番号 12345
SlippagePips 許容するスリッページ(pips) 1.0
MaxSpreadPips この幅を超えたら新規注文しない(pips) 3.0

最初のテストでは、すべて初期値のままで構いません。「値」の列だけが今回使う設定で、「スタート」「ステップ」「ストップ」の列は最適化用なので無視してOKです。確認したら「OK」でダイアログを閉じます。

手順9 スタートして進行バーを見る

  1. 「ビジュアルモード」のチェックはオフにしておきます。オンにするとチャート上で売買が再生されて面白いのですが、テストが非常に遅くなります。
  2. パネル右下の「スタート」ボタンを押します。
  3. パネル下部に緑色の進行バーが伸び始めます。右端まで到達したら終了です。

「全ティック」で3年分をテストすると、PCの性能によって数十秒〜数分かかります。終わると「スタート」ボタンの表示が元に戻り、パネル下部に「結果」「グラフ」「レポート」などのタブが使えるようになります。

終わったら「操作履歴」タブを一度開いてみてください。要確認テスト中のログが並んでいて、最後の方に赤字のエラーが無ければ、テストは正常に完了しています。

結果の読み方は、次の記事で説明します。

つまずきポイント

  • 「スタート」を押してもすぐ終わってしまう・取引が0件: 期間の指定がデータの無い範囲になっていないか、通貨ペアがデータを準備したものと一致しているかを確認してください。また、「操作履歴」タブに「not enough money」のようなエラーがあれば、初期証拠金に対してロット数が大きすぎます。要確認
  • 進行バーが動かない・固まったように見える: 全ティックは時間がかかります。数分は待ってみてください。どうしても待てないときは「ストップ」で中断し、期間を1年に短くして試すと様子がつかめます。
  • EAがドロップダウンに出ない: MetaEditorでコンパイルした後、MT4のナビゲーターで右クリック→「更新」をしてください。それでも出ない場合は、保存先が MQL4/Experts フォルダになっているか確認します。
  • ビジュアルモードをオンにしたままで、とても遅い: オフにしてやり直してください。オンにしたときのチャートは閉じて構いません。
  • 前回の設定が残っていて、どの条件でテストしたか分からなくなった: テストのたびに「通貨ペア・時間足・期間・スプレッド・初期証拠金・パラメータ」をメモに残す習慣をつけると、後の章で比較するときに役立ちます。

次の記事

5-3 バックテスト結果の見方 で、出てきた数字とグラフを「どの順番で・どう見るか」を説明します。