MetaTrader 5のヘルプ

ストラテジーテスト

ストラテジーテスターは取引ストラテジー(エキスパートアドバイザー)を実際の取引に使う前にテスト及び最適化することを可能にします。テストでは、初めにエキスパートアドバイザーが初期パラメータと履歴データを使って実行されます。最適化では、取引ストラテジーは、最も適切な組み合わせの選択を可能にす複数のパラメータセットで数回実行されます。

ストラテジーテスターは複数金融製品取引のテストと最適化に使われる多通貨ツールです。テスターは取引ストラテジーで使用されているすべての銘柄の情報を自動処理するので、手動でテスト/最適化のための銘柄のリストを指定する必要はありません。

ストラテジーテスターは、全ての利用可能なコンピュータリソースを使用できるように、マルチスレッドです。テストと最適化はユーザーのコンピューターにサービスとしてインストールされている特別なコンピューティングエージェントによって実行されます。エージェントは独立して動作し、最適化パスの並列処理を可能にします。

ストラテジーテスターには無制限の数の遠隔エージェントが接続できます。更に、ストラテジーテスターはMQL5クラウドネットワークにアクセスできます。それは、世界中の数千のエージェントを結集し、この計算能力は、取引プラットフォームのすべてのユーザーによって利用可能です。

ストラテジーテスターはエキスパートアドバイザーのテストと最適化の他にビジュアルモードでのカスタム指標の操作をテストにも使用できます。この機能によってマーケットからダウンロードされた指標のデモバージョンを簡単にテストすることができます。

テストの方法

エキスパートアドバイザーのテストとは過去の価格データを用いて、固定パラメータとの単一の実行です。本当の市場での使用前に、ストラテジーがどのように動作するかをテストすることができます。

「エキスパートアドバイザーと指標の購入前にテストするには」のビデオをご覧ください。

「エキスパートアドバイザーと指標の購入前にテストするには」のビデオをご覧ください。

マーケットからの購入する前に自動売買ロボットをテストする方法を学ぶためにはこのビデオをご覧ください。マーケットの製品のすべては、ストラテジーテスターでテストできる無料のデモ版を備えています。詳細はビデオでご覧ください。

テストでの自動売買ロボットを選択の方法

テストテスト」をナビゲーターウィンドウでクリックします。

テストでの自動売買ロボットを選択の方法

その後、エキスパートアドバイザーがストラテジーテスターで選択されます。

多通貨エキスパートアドバイザーでは、気配値表示で必要な銘柄を有効にします。

ストラテジーテスターは、複数シンボルの売買をするストラテジーのバックテストをすることが出来ます。このような自動売買ロボットは多通貨エキスパートアドバイザーと呼ばれています。

テスタは、銘柄データの最初の呼び出し時に自動的に使用される銘柄の履歴を(取引サーバからではなく)取引プラットフォームから読み込みます。不足している価格履歴データのみが取引サーバからダウンロードされます。

多通貨エキスパートアドバイザーのテストを始める前に、テストに必要な銘柄を気配値表示 で有効にします。コンテクストメニューを開いて「銘柄銘柄」をクリックして必要な製品を有効にします。

 多通貨エキスパートアドバイザーでは、気配値表示で必要な銘柄を有効にします。

テストパラメータの選択

テストを開始する前に、自動売買ロボット操作でテストされる金融製品、期間とモードを選択します。

テストパラメータの選択

Symbol and period

テストと最適化に使われるメインチャートを選択します。銘柄の選択はエキスパートアドバイザーに含まれ OnTick() イベントのトリガに必要です。また、選択した銘柄と期間は、 現在のチャートパラメータ(例えば Symbol() と Period())を使用するエキスパートアドバイザーコードの特別な機能に影響を与えます。言い変えると、エキスパートアドバイザーが接続されるチャートはここで選択されるべきです。

テスト及び最適化の期間を選択します。事前に定義された期間の1つ、またはカスタムの時間間隔を設定することができます。カスタム期間を設定するには、右側の適切なフィールドに開始日と終了日を入力してください。

テスターには(100以上のバーを形成するために)指定された期間前のデータをダウンロードするという特徴があります。これは、より正確なテストと最適化のために必要とされます。例えば1週間の時間枠でのテストの場合、2年分がダウンロードされます。

例えば、テストの開始日が既存の履歴データの始まりに近く指定されたために追加の100足を形成するための十分な履歴データが存在しない場合は(月足と週足と特に重要)、テストの開始日は自動的にシフトします。 適切なメッセージがストラテジーテスター ジャーナルに追加されます。

先行

このオプションを使用すると、一定の時間間隔に合わせずに最適化の結果を確認することができます。先行テストに当たって、「日付」フィールドで設定された期間は選択された先行期間(フォワードテストの開始日を指定した際のカスタム期間の1/2、1/3、1/4)に従って2部に分けられます。

初めの部分がバックテストの期間です。これは、エキスパートアドバイザーの動作適応の期間です。2つ目の部分は、選択されたパラメータがチェックされる先行テストです。

Execution

ストラテジーテスターでエミュレートする取引執行モードを選択します。「通常」及び「ランダム遅延」 執行モードの2つの執行モードが用意されています。

通常モードでは、すべての注文はリクオートされることもなく、リクエストされた価格で実行されます。

ランダム遅延モードは実際の条件に限りなく近い条件でのエキスパートアドバイザーのテストを可能にします。価格は、実行前にリクエストが送信された時点から変更することがあります。注文で設定されたスリッページによって、注文は(スリッページ以内なら)現在価格で実行されるもしくはリクオートが返されます。

このモードでのテストは、このような状況の取り扱いを正しくプログラムすることができます。

遅延のシミュレーションはプラットフォームから送信されたすべての要求に対して実行されます(注文逆指値レベルの変更)。

遅延は次のように実行されます。遅延の秒数として0〜9の番号がランダムに選択されます。選択された数が 9 に等しい場合、同じ範囲から別の番号をランダムに選択されて追加されます。

したがって、0〜8秒の遅延の可能性は 90%で、9〜18秒の遅延の可能性は10 %です。

ティック生成モード

ティック生成モードをひとつ生成します。

  • 全ティックモードは最も正確ではありますが、最も遅いモードでもあります。このモードでは全てのティックがモデリングされます。
  • 各ティックは実際のティックをベースにしているので、最大限に実際の条件に近いものとなります。金融商品ごとに証券会社によって集められた実際のティックが使用されます。シュミレーションはありません。ティックデータのサイズが大きい為、最初のテスト起動時に、ブローカーのサーバーからのこれらのダウンロードに時間がかかる場合があります。
  • 1分足OHLC ? このモードでは各分足の始値、高値、安値、終値のみがエミュレートされます。
  • 始値のみ ? このモードではOHLC価格もモデルされ、始値のみがテスト/最適化に使用されます。
  • 数値計算 ? このモードでは、テスターは、銘柄の履歴データや情報をはダウンロードされないだけでなく、ティックも生成されません。OnInit()、OnTester() 及び OnDeinit() 関数のみが呼び出されます。従って、テスターは、パラメータの選択が必要とされる様々な数値計算のために使用することができます。

詳細はこちらのセクションをお読みください。

初期証拠金及びレバレッジ

テストと最適化に使用される初期証拠金の額を指定します。通貨は現在接続されたアカウントの預金通貨に依存します。次にテストと最適化のレバレッジを選択します。

  • テストでは銘柄指定にかかわらず他の銘柄の履歴データも使用することがあるのでご注意ください。テスターはエキスパートアドバイザーで使用される銘柄の全てを自動的にダウンロードします。
  • テスト/最適化する前に、メインチャート上の銘柄のすべての利用可能な価格データが自動的にサーバからダウンロードされます。インターネット接続が遅い場合には、これには非常に長い時間がかかる場合があります。
  • すべてのデータのダウンロードは1回だけ実行され、次の開始時には不足している情報のみがダウンロードされます。
  • 現在気配値表示 で選択されている銘柄のみがテスト/最適化で使用できます。
  • すべての必要な銘柄の価格データは、テストと最適化の際に、自動的にサーバからダウンロードされます。
  • テストは 00hr.00m.00s で終始します(指定された日付の)。よってテスト/最適化の開始日はテスト期間に含まれますが、終了日は含まれません。テストは、前の日の最後のティックで終了します。また、現在より後の終了日を指定することはできません。このような場合には、テストは現在の日付まで(現在の日付を含まない)実行されます。

入力パラメータの選択

入力パラメータ を使うと、エキスパートアドバイザーの動作を制御し、異なる市場条件や金融製品に調整することができます。例えば、エキスパートアドバイザーのパフォーマンスを、市場分析や意思決定に使われる異なる決済逆指値決済指値、移動平均線の異なる時間軸などと実験することができます。

各入力パラメータの値を指定します。

テストされる入力パラメータの選択

テストの開始

テストを始めるには「設定」タブの「スタート」をクリックします。テストの進行状況が左側に表示されます。

テスト結果の表示場所

エキスパートアドバイザーのテスト結果は「結果」と「グラフ」タブに表示されます。

テスト結果

テストレポート

テスト結果の詳細は「結果」タブに表示されます。このタブには、自動売買ロボットの性能を評価するために役立つ、一般的なテストの結果、ならびに利益や取引数などの多くの統計値が含まれています。

追加のチャートは、数や時間、日や月によって取引操作の成功の分布を可視化するだけでなく、取引ストラテジーのリスクパラメータを記述します。

詳細はテストレポートセクションをご覧ください。

グラフのテスト

「グラフ」タブでは、選択された期間と製品でエキスパートアドバイザーがどの程度成功したかを視覚的に決定することができます。

バランスカーブ(青線)と有効証拠金カーブ(緑)は、タブのメインエリアに表示されます。日付をは水平スケール、バランス/有効証拠金値は、垂直スケール上に示されています。

バランス値は、チャート上で変更されるたび(ポジション決済時)に示され、有効証拠金値はさらにバランス変化の間に一定の周期で示されています。

タブの下部に資金の証拠金の割合(margin/equity)として計算される証拠金負荷のヒストグラムが表示されます。

ジャーナルでのテスト進捗状況

テストの進捗状況は「ジャーナル」に反映されます。更に、エキスパートアドバイザーメッセージもジャーナルに追加されます。ビジュアルテストモードでは、テストの進捗状況はチャート上に直接表示されます。

チャートでのテスト進捗状況

エキスパートアドバイザがテストされたチャート(選択された銘柄と期間)はテストが終わるとすぐに開くことができます。それには「結果」タブのコンテクストメニューの「チャートを開くチャートを開く」をクリックします。テスト中にエキスパートアドバイザーによって実行された操作はすべてチャートに表示されます。 tester.tpl と名付けられた定形チャートが取引プラットフォームの /profiles/templates フォルダーに存在すると、それが開けられたチャートに適応されます。ない場合は、デフォルトの定形チャート(Default.tpl)が使われます。

テストされたエキスパートアドバイザーが、テストされる銘柄と期間で実行される指標を使用する場合、それもチャートに表示されます。しかし、指標の強制アンロード( IndicatorRelease 関数)がエキスパートアドバイザーのソースコードに実装されている場合、指標はチャートには表示されません。

最適化されていない先行期間の自動売買ロボットのテスト

フォワードテストとは、異なる期間でのエキスパートアドバイザーの繰り返した実行です。この機能を使用すると、履歴データの特定の領域でのパラメータフィッティングを回避することができます。

フォワードテストを始めるには「設定」タブの「フォワード」フィールドで全体の期間を選択します。

  • No — フォワードテストが使用されない
  • 1/2 — 指定された期間の半分がフォワードテストに使用される
  • 1/3 — 指定された期間の三分の一がフォワードテストに使用される
  • 1/4 — 指定された期間の四分の一がフォワードテストに使用される
  • カスタム — フォワードテストの開始日を手動で指定する

先行期間

  • 総期間の第2(最新)の部分は、常にフォワードテストのために使われています。
  • 先行期間の開始日は、チャート上の縦線でマークされています。

先行テストが有効な場合、選択された部分は「日付」フィールドで指定された値によって分離されます。最初の部分は、バックテストの期間であり、2つ目は、フォワードテストの期間です。

先行テストの結果は、独自の「フォワード」タブに表示されます。先行期間の開始日は、チャート上の縦線でマークされています。

先行テストの結果

テスト結果の詳細は「オプティマイズ結果の表示場所」セクションをお読みください。

ビジュアルテスト

取引プラットフォームのストラテジーテスターでは、エキスパートアドバイザーと指標をビジュアルモードにすることができます。このモードでは、バックテスト中にエキスパートアドバイザーが取引操作をどのように行うかを正確に可視化することができます。各取引は、金融銘柄のチャート上に表示されます。

ビジュアルテストを有効にするには設定で「ビジュアルモード」を選択します。

ビジュアルテストの有効化

  • ビジュアルテストは最適化が有効である場合には有効にできませ演。
  • ビジュアルテストはローカルエージェントのみで実行されます。遠隔エージェントがテストに選択されている場合は コンテクストメニューの「選択選択」コマンドを使用します。

テストオプション設定パラメータを設定して「スタート」をクリックします。

ビジュアルテストは取引プラットフォームをシミュレートする別のウィンドウで実行されます。そこにはチャート、気配値表示(マーケットウォッチ)、また取引操作が表示されるツールボックスと操作ログ(ジャーナル)があります。

ビジュアルモードでのテスト

テストプロセス制御

テストを一時停止、速く/遅くするには、ツールバーを使用します。テストの特定の日付にジャンプすることもできます。

テストプロセスはホットキーで簡単に制御することができます。ホットキーの組み合わせはメニューコマンドの横に表示されています。

チャート上でのエキスパートアドバイザーテストのモニター

このタイプのテストの主な目的は、エキスパートアドバイザーのパフォーマンスの視覚的分析です。チャートは、エミュレートされた過去の価格データに基づいてリアルタイムに生成されます。自動売買ロボットの操作は、このチャート上に表示されます。

取引操作はアイコンとして表示されます。買(買いの約定)及び売(売りの約定)市場のエントリとエグジットの間には点線が表示されます。

  • 定型チャートを使用するとチャートの外観を変更したり指標やグラフイカルオブジェクトを表示することができます。適応するには、定形チャートはテストされたエキスパートアドバイザーと同名でなければありません。定形チャートは取引プラットフォームの/profiles/templates フォルダーに位置しなければなりません。
  • チャートモードで使用可能な銘柄の一覧は、メインのテスト銘柄とそのデータがエキスパートアドバイザーで使用されている銘柄に制限されています。
  • 時間足設定は変更できません。設定で選択された期間がメインテストチャートで使用されます。他の銘柄にはエキスパートアドバイザーによってリクエストされた期間が使用されます。
  • 銘柄間の切り替えには「表示—チャート」メニューを使用します。

マーケットウォッチ(気配値表示)での価格データの表示

気配値表示にはテスト中に生成された価格が表示されます。これは取引プラットフォームの気配値表示と似ていますが、特別な機能がいくつかあります。このウィンドウを表示非表示にするには、「表示」メニューの「気配値表示」コマンドを使用するか Ctrl+Mを押します。

ビジュアルテスト中のマーケットウォッチ

「銘柄」タブには、金融製品の現在の価格情報が提供されています。表示される銘柄はメインなテスト銘柄とそのデータがエキスパートアドバイザーで使用されている銘柄に制限されています。

「ティック」タブは生成された価格のチャートを含みます。表示されるティック数は64000に制限されています。

データウィンドウでのバー詳細と指標値の表示

データウィンドウ、価格(OHLC)、バーの日付と時刻、スプレッド、ボリュームや指標に関する情報を表示します。こちらからはすばやくチャートの選択時点での特定のバーと適用された指標についての情報を見つけることができます。このウィンドウは「表示」メニューの「データウィンドウ」をクリックするか Ctrl+Dを押して有効/無効にできます。

ビジュアルテスト中のデータウィンドウ

ウィンドウの上部には、金融製品とチャートの期間の名前が含まれています。チャート上の現在のカーソル位置に関する情報が下に表示されます。指標の情報は別のブロックで表示される別のサブウィンドウで表示されます。

ツールボックスでの取引詳細の表示

エキスパートアドバイザーによる取引の詳細な研究にはツールボックスウィンドウを使用します。次の情報が複数のタブに含まれています。

  • 現在のポジションと未決注文
  • 約定履歴と注文履歴
  • 未決注文の変更やポジションの逆指値レベルなどの、エキスパートアドバイザーの取引リクエストの履歴

「取引」及び「履歴」セクションにある取引操作の情報

ツールボックスでの取引詳細の表示

テストについてのさらなる詳細は、ジャーナルにあります。ここには、テストとテスト中に実行されたエキスパートアドバイザーのアクションに関する情報が含まれています。

ビジュアライザーが開いている限り、 テストエージェントのログは取引プラットフォームのストラテジーテスターに送信されません。しかし、コンテクストメニューの 「ローカルエージェントジャーナル」 コマンドで取引プラットフォームを通して表示することができます。

ビジュアルモードでの指標のテスト

ビジュアルテストモードは指標の履歴データに対する動作のモニターを可能にします。この機能によってマーケットから購入する前に指標をテストすることができます。無料のデモ版をダウンロードし、ストラテジーテスターで指標を実行します。

「インディケーター」プログラムタイプを選択し、指標を選択して「スタート」をクリックします。ビジュアルモードは自動的に有効にされます。他のパラメータは自動売買ロボットのテスト中と同じように設定されます。

ビジュアルモードでの指標のテスト

指標の動作は、テスターでシミュレートされたティックの配列に基づいてプロットされるチャート上に示されています。