MetaTrader 5のヘルプアルゴリズム取引、自動売買ロボットストラテジーテスト

ストラテジーテスト

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

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

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

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

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

テストの方法 #

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

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

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

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

テストタスクの迅速な選択 #

テスターの起動後、複数の設定の代わりに標準的なタスクが表示されます。これらを選択することによって、テストをすぐに開始できます。これは、特に初心者に役立ちます。

主要な戦略テストと最適化タスクのいくつかは、スタートページに表示されます。さらに、以前に実行したタスクの1つをこのページから再起動できます。実行したタスクが多数でスタートページに収まらない場合は、検索バーを使用します。テストは、プログラム名、銘柄、時間枠、モデリングモードなどの任意のパラメータで検索できます。

開始ページで人気のタスクの1つを選択して、テストをすばやく開始します。

タスクを選択した後は、追加のテストパラメータに進んで、エキスパートアドバイザー、銘柄、テスト期間などを選択します。選択したタスクに必要ではないすべての無関係なパラメータは、設定ページに表示されません。たとえば、数学的計算が選択されている場合、テストするプログラムの選択と最適化モードの2つのパラメータのみを指定する必要があります。テスト期間、遅延、ティック生成の設定は非表示になります。

利用可能なすべてのテストオプションを以下で説明します。

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

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

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

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

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

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

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

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

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

テストパラメータの選択 #

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

テストパラメータの選択

銘柄と期間

テストと最適化のメインチャートを選択します。エキスパートアドバイザーに含まれるOnTick()イベントをトリガーするには、銘柄の選択が必要です。また、選択された銘柄と期間は、現在のチャートパラメータを使用するエキスパートアドバイザーコードの特別な関数(例えば、Symbol()とPeriod())に影響します。つまり、エキスパートアドバイザーが添付されているチャートをここで選択する必要があります。

日付

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

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

追加の100バーを形成するのに十分な履歴データがない場合(これは、月次および週次の時間枠で特に重要です) たとえば、既存の履歴データの開始の近くにテストの開始を指定すると、テストの開始日は自動的にシフトされます。ストラテジーテスターの操作ログに適切なメッセージが追加されます。

転送

このオプションを使用すると、特定の時間間隔に適合しないようにテストの結果を確認できます。フォワードテスト中に、[日付]フィールドに設定された期間は、選択されたフォワード期間(フォワードテストのタルト日を指定する際の1/2, 1/3, 1/4、またはカスタム期間)に従って2つの部分に分割されます。

最初の部分は、バックテストの期間です。エキスパートアドバイザーの運用適応期間です。2番目の部分はフォワードテストです。このテストでは、選択したパラメーターがチェックされます。

実行

ストラテジーテスターは、テストに実際に近い条件を提供するために、エキスパートアドバイザーの操作中にネットワーク遅延のエミュレーションを有効にしました。取引リクエストを発行してからストラテジーテスターで実行するまでに、一定の時間遅延が挿入されます。リクエスト送信の瞬間からその実行まで、価格は変わる可能性があります。これにより、ユーザは取引処理速度が取引結果にどのように影響するかを評価できます。

即時実行モードでは、ユーザは、取引サーバからのリクオートに対するEAの応答をさらに確認できます。リクエスト価格と実行価格の差が注文で指定された偏差の値を超える場合、EAはリクオートを受け取ります。

遅延はEA(注文ストップレベルによって実行される取引でのみ機能することに注意してください)。たとえば、EAが指値注文を使用する場合、遅延は注文の発行にのみ適用され、注文の実行には適用されません(実際の状況では、実行はサーバでネットワーク遅延なしに発生します)。

遅延なし

このモードでは、すべての注文がリクオートなしで要求された価格で実行されます。このモードは、EAが「理想的な」条件でどのように機能するかを確認するために使用されます。

ランダム遅延

ランダム遅延モードでは、実際の条件に最大限近い条件でエキスパートアドバイザーをテストできます。遅延値は次のように生成されます。0?9の数値がランダムに選択されます。これは遅延の秒数です。 選択した数値が9の場合、同じ範囲から別の数値がランダムに選択され、最初の数値に追加されます。

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

固定遅延

事前定義された遅延値の1つを選択するか、カスタム値を設定できます。プラットフォームはトレードサーバへのpingを測定し、テスターでその値を遅延として設定できるので、実際のロボットにできるだけ近い条件でロボットをテストできます。

ティック生成モード

ティック生成モードの1つを選択します:

  • 全ティック ? 最も正確ですが、最も遅いモードです。すべてのティックはこのモードでシミュレートされます。
  • 実際のティックに基づくすべてのティックは、実際のティックに近い条件を提供します。テストは、ブローカーが蓄積した金融商品の実のティックを使用して実行されます。シミュレーションは実行されません。ティックデータはサイズが大きいため、最初のテスト実行中にブローカーのサーバからダウンロードするのに時間がかかる場合があります。
  • 1分のOHLC ? このモードでは、4つの価格(始値、高値、安値、終値)がエミュレートされます。
  • 始値のみ ? このモードでは、OHLC価格もモデル化されますが、テスト/最適化には始値のみが使用されます。
  • 演算 ? このモードでは、テスターは履歴データと銘柄に関する情報をダウンロードせず、ティックを生成しません。関数OnInit()、OnTester()、およびOnDeinit()のみが呼び出されます。したがって、テスターは、パラメーターの選択が必要なさまざまな数学的計算に使用できます。

ティック生成の詳細については、適切なセクションをお読みください。

pipsでの利益計算により、テストプロセスをスピードアップできます。変換レートを使用して通貨を預金するために利益を再計算する必要はありません(したがって、適切な価格履歴をダウンロードする必要はありません)。このモードでは、スワップと手数料の計算が削除されます。

このモードでは証拠金制御は実行されないことに注意してください。迅速かつ大まかな戦略推定のためにのみ使用し、より正確なモードを使用して得られた結果を確認してください。

初回入金と活用

テストと最適化に使用する初回入金の金額を指定します。現在接続されている口座の入金通貨がデフォルトで使用されますが、他の通貨を指定することもできます。適切なテストを確実に行うためには、利益と証拠金を特定の預金通貨に変換するためのクロスレートがアカウントで利用可能でなければならないことに注意してください。"Forex"または "Forex No Leverage"計算タイプをもつ銘柄のみがクロスレートとして使用できます。

次にテストと最適化のレバレッジを選択します。レバレッジはポジションと注文のマージンとしてアカウントに予約された資金の量に影響します。

EA編集へのクイックジャンプ

選択したエキスパートアドバイザーのソースコードがある場合、このボタンをクリックして、MetaEditorでの編集に切り替えることができます。

テスト設定の管理

このメニューを使用してテスター設定を管理します。さまざまなエキスパートアドバイザの設定のセットをiniファイルに保存し、数回クリックするだけでそれらにアクセスできます。現在のテスト設定は、Ctrl+Cを押してクリップボードにコピーすることもできます。お好みのテキストエディタで編集してから、Ctrl+Vを使用してコピーしてテスターにアップロードできます。

同じメニューから、最後に使用したプログラム、最後のチャート設定、テスト期間をすばやく選択できます 。

さらに、以前の最適化結果のいずれかや、結果が得られた設定にアクセスできます。

テスト用のカスタム銘柄設定

テスト/最適化に使用される主要な取引商品の設定を変更できます。ほぼすべての仕様パラメータ(ボリューム、取引モード、マージン要件、実行モード、その他の設定)を上書きできます。

高度なテスト 設定

取引制限、マージン設定、手数料などの戦略をテストするときに、独自の取引アカウントパラメータを設定します。このオプションにより、ブローカーが提供するさまざまな取引条件のシミュレーションが可能になります。

視覚的テスト

ビジュアルテストモードでは、履歴データのテスト中にエキスパートアドバイザーがどのように取引操作を実行するかを正確に視覚化できます。金融商品の各取引はチャートに表示されます。

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

入力パラメータの選択 #

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

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

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

パラメータセット MQL5プログラムの現在の設定に戻るには、コンテキストメニューを使用してパラメータセットを保存します。

  • 設定ファイルをコンピュータに保存するには「保存」をクリックします。これらのファイルは、異なるコンピュータ上のプラットフォーム間で移動することも、他のユーザーに送信することもできます。
  • 現在のプラットフォームで使用するためにパラメータを保存するには「バージョンを保存する」をクリックします。これらの保存されたプリセットは「オプションを読み込む」サブメニューで使用できます。これらは、リストから適切なバージョンを選択することによっていつでも適用することができます。

テスターの詳細設定 #

戦略のテスト中に、取引制限、マージン設定、手数料などのカスタム取引口座設定を指定できます。このオプションにより、ブローカーが提供するさまざまな取引条件のシミュレーションが可能になります。

高度なテスト設定により、ブローカーが提供するさまざまな取引条件をシミュレーションできます。

共通

このセクションでは、口座に同時に存在できる注文とポジションの最大数を設定できます。さらに、プログラムが取引を許可されていないセッションを構成できます。

証拠金

このセクションでは、テストで使用する証拠金予約ルールとポジション勘定システムを設定できます。

証拠金設定

スク管理モデル: OTCとExchange、ネッティングまたはヘッジ。

このレベルに達すると、アカウントはマージンコール状態に切り替わります。

このレベルに達すると、すべての注文がキャンセルされ、すべての取引ポジションが決済されます。これらのレベルは、パーセンテージと金額で示すことができます。前者の場合、それらは口座の株式価値として決定されます。[In percent]が選択されている場合、レベルは口座の[証拠金レベル]値として定義されます(資金/証拠金*100)。

余剰証拠金の計算における現在の変動する利益/損失の計算方法は、次のとおりです。

  • Do not use unrealized profit/loss ? 計算に未決ポジションの利益/損失を含めません
  • Use unrealized profit/loss ? 計算に未決ポジションの利益/損失を含めます。
  • Use unrealized profit ? 利益のみを含めます。
  • Use unrealized loss ? 損失のみを含めます。

余剰証拠金の計算におけるトレーダーの毎日の実現利益/損失を計算する方法は、次の通りです。

  • Use daily fixed profit/loss ? 余剰証拠金に取引日に受け取った利益と損失を含めます。
  • Use daily fixed loss ? 余剰証拠金に取引日に受け取った損失のみを含めます。日中、得られた利益は特別勘定科目フィールド([Blocked])に蓄積されます。取引日の終わりに、累積利益が解放され(ゼロにされ)、口座残高に追加されます(余剰証拠金に含まれます)。

Release fixed profit at the end of day ? このオプションは、[Use daily fixed loss]オプションが選択されている場合にのみ使用可能になります。有効にした場合、累積利益は1日の終わりに解放されます(したがって、余剰証拠金に含まれます)。そうでなければ、この利益額はブロックされたままになります。

手数料

このセクションでは、すべての取引操作で請求される手数料を管理します。

  • 手数料は、単一レベルと複数レベル、つまり取引量/取引高に関係なく均一である場合と取引量/取引高に依存する場合があります。
  • 手数料は、取引の執行時にすぐに請求される場合と取引日/月の終わりに請求される場合があります。
  • 手数料は、取引の方向(エントリ、エグジット、両方の操作タイプ)に応じてそれぞれ請求される場合があります。
  • 手数料は、ロットまたは取引ごとに請求される場合があります。
  • 手数料は、金額、パーセンテージ、またはポイントで計算できます。

現在の取引アカウントの手数料設定を適用するには、[Use predefined commissions]オプションを有効にします。

証拠金設定

以下で指定されたカスタム設定の代わりに現在の取引口座手数料設定を使用するオプションを有効にします。

手数料を設定する銘柄の名前を指定します。銘柄ごとにいくつかの設定を追加できます。したがって、取引量または売上高に応じて、マルチレベルの手数料を設定できます。

手数料は、各取引の直後に請求することも、取引日または月の間に蓄積してから1つの操作で請求することもできます。

  • Instant ? 手数料は、各取引の実行中に即座に請求されます。インスタントコミッションのサイズは、取引の[手数料]フィールドに表示されます。インスタントモードでは、手数料はボリューム単位でのみ指定できます(売上高ではありません)。
  • Daily ? 手数料は、特別なアカウント状態フィールド[Blocked]で1日累積されます。1日の終わりに、累積額は別の残高操作(1日の手数料または1日のエージェント手数料タイプの取引)でアカウントから引き落とされます。
  • Monthly ? 手数料は、特別なアカウント状態フィールド[Blocked]で1ヶ月累積されます。1ヶ月の終わりに、累積額は別の残高操作(1ヶ月の手数料または1ヶ月のエージェント手数料タイプの取引)でアカウントから引き落とされます。
  • Monthly ? 手数料は、特別なアカウント状態フィールド[Blocked]で1ヶ月累積されます。選択したオプションにより、[From]フィールドと[To]フィールドに取引量または売上高が示されるエンティティが決まります。

    • Volume ? 手数料レベルは、取引操作で実行された各取引の出来高(ロット数)に基づいて設定されます。例えば、レベルを0?10および12?20に設定した場合、15ロットの取引には第2レベルの手数料が適用されます。このオプションは、Daily、Monthly、Instantのモードで使用されます。
    • Overturn Money ? 手数料レベルは、選択した期間(日または月)の資金の回転率に基づいて設定されます。例えば、レベルは0?500、501?1000に設定され、手数料は毎月請求されます。操作の総額が500ユニットを超えるまで、第1レベルの手数料が課金されます。資金の回転率が500の値を超えるとすぐに、それ以降のすべての取引は第2レベルの手数料の対象となります。
      デフォルトでは、資金の回転率は預金通貨で計算されます。各取引の価格が計算され、預金通貨に変換されます。例えば、契約サイズが100 000の1ロットEURUSDの購入価格は100 000 EURです。預金通貨がUSDの場合、ポジション価格はトランザクション時にEURUSDに変換されます(この場合は取引価格です)。
    • Overturn Volume ? 手数料レベルは、選択した期間(日または月)の取引操作の量(ロット数)に基づいて設定されます。

日次および月次モードでは、手数料は両方向の取引に対してが請求されます(ポジションのオープン/増加時とポジションの決済または一部決済時)。即時手数料の場合、取引方向は手動で設定できます。

イン/アウトタイプのリバーサル取引の場合、「イン」は新しく開いたポジションのボリュームにのみ手数料が請求されることを意味し、「アウト」は 決済ボリュームにのみ手数料が請求されることを意味します。「Close By」取引には、次のルールが適用されます。

  • 「すべて」または「イン」が選択されている場合、「Close By」取引には手数料が請求されません。 例えば、取引ごとに1 USDの手数料が請求されます。トレーダーがエントリー1.00 EURUSDの取引とエントリー売り1.00 EURUSDの取引を実行すると、2 USDの手数料が課金されます。1.00 EURUSDポジションが1.00 EURUSD売りポジションによって決済された場合、クライアントには追加のコミッションは請求されません。
  • 「Out」を選択すると、両方のClose By取引のコミッションが請求され、合計 コミッション値はメインの出口取引に書き込まれます(利益/損失が指定されています)。例えば、取引ごとに1 USDの手数料が請求されます。トレーダーがエントリ1.00 EURUSDの取引とエントリ売り1.00 EURUSDの取引を実行すると、2 USDの手数料が課金されます。1.00 EURUSDポジションが1.00 EURUSD売りポジションによって決済された場合、2 USDの手数料が課金されます。最初の「out by」取引では2 USDの手数料が指定され、2番目の取引では手数料ゼロが指定されます。

手数料が請求される最小取引量(売上高)。範囲は重複してはなりません。それ以外の場合、手数料は操作が該当するすべての範囲に対して課金されます。

最大取引量(売上高) )手数料の請求元。範囲は重複してはなりません。それ以外の場合、手数料は操作が該当するすべての範囲に対して課金されます。

手数料の額。手数料の単位は、[モード]フィールドで選択した手数料の計算方法によって異なります。

最低手数料額。選択した計算モードが依存する値(基本通貨、グループ通貨、ポイントなど)。最小コミッション金額を制限しない場合は、0の値を設定します。

最高手数料。選択した計算モードが依存する値(基本通貨、グループ通貨、ポイントなど)。最高手数料は最低手数料より小さくすることはできません。最大手数料を制限したくない場合は、0の値を設定します。

手数料の計算単位:

  • 預金通貨 ? 手数料はグループに指定された預金通貨で計算されます。
  • 基本通貨 ? 手数料は取引された銘柄の基本通貨で計算されます。
  • < li>利益通貨 ? 手数料は取引された銘柄の利益通貨で計算されます。
  • 証拠金通貨 ? 手数料は取引された銘柄に指定された証拠金要件通貨で計算されます。
  • ポイント ? 手数料は、取引された銘柄の価格ポイントで計算されます。ポイント値は、同じ方向のポジションの利益として計算されます。ボリュームは1ロットで、始値と終値の差は1ピップ(ポイント)です。
  • パーセント ? この計算方法では、取引/売上の実際のコストの%で手数料を請求できます。コストは、その価格、契約サイズ、およびロット単位のボリュームの積として、銘柄の基本通貨で計算されます(先物およびオプション銘柄の場合:ロット単位のボリューム*ティックサイズ/ティック価格)。デフォルトでは、基本通貨で計算された取引/売上高の値は預金通貨に変換されます。 次に、最終的なコミッション(指定されたパーセント)は、結果の値に基づいて計算されます。

手数料課金タイプ :

  • 取引ごと - 実行されたディールごとに手数料が課金されます。
  • ボリュームごと - 手数料は実行された取引のロット(ボリューム)ごとに課金されます。実行される取引リクエストの量のみが考慮されます。

カスタムテスト銘柄設定 #

テスト/最適化が実行されるメインの取引商品の設定を上書きできます。量、取引モード、証拠金要件、実行モード、その他の設定など、ほぼすべての仕様パラメータを上書きできます。したがって、異なる条件でエキスパートアドバイザーを確認する必要がある場合、個別のカスタム銘柄を作成してその履歴をダウンロードする必要はありません。これは、標準の銘柄設定を変更することで実行できます。

メインのテスト銘柄の設定を編集して、さまざまな取引条件で戦略をテストします

銘柄仕様がカスタマイズされている場合、歯車アイコンと銘柄アイコンにはアスタリスクが付いています。これは、カスタムパラメータが現在のテストに使用されていることを示しています。

機器の設定が変更されている場合、この商品には特別なアイコンが表示されます

テストの開始 #

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

テスト結果の表示場所 #

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

テスト結果

テストレポート

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

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

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

グラフのテスト

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

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

  • バランス値は、チャート上で変更されるたび(ポジション決済時)に示され、有効証拠金値はさらにバランス変化の間に一定の周期で示されています。
  • 為替リスク管理モデルを使用して口座をテストすると、チャートにはエクイティのみが表示され残高と預金金額は表示されません。そのような口座の取引状況は、エクイティのレベルに基づいて評価されます。残高は口座にある金額のみを表示し、トレーダーの資産および負債は無視します。為替計算モードでは証拠金は資産/負債の現在の割引価格と等しく、資本とともに変化するため、預金積み増し(証拠金/エクイティ)は表示されません。.

タブの下部に資金の証拠金の割合(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を押して有効/無効にできます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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