ストラテジーテスターは取引ストラテジー(エキスパートアドバイザー)を実際の取引に使う前にテスト及び最適化することを可能にします。テストでは、初めにエキスパートアドバイザーが初期パラメータと履歴データを使って実行されます。最適化では、取引ストラテジーは、最も適切な組み合わせの選択を可能にす複数のパラメータセットで数回実行されます。
ストラテジーテスターは複数金融製品取引のテストと最適化に使われる多通貨ツールです。テスターは取引ストラテジーで使用されているすべての銘柄の情報を自動処理するので、手動でテスト/最適化のための銘柄のリストを指定する必要はありません。
ストラテジーテスターは、全ての利用可能なコンピュータリソースを使用できるように、マルチスレッドです。テストと最適化はユーザーのコンピューターにサービスとしてインストールされている特別なコンピューティングエージェントによって実行されます。エージェントは独立して動作し、最適化パスの並列処理を可能にします。
ストラテジーテスターには無制限の数の遠隔エージェントが接続できます。更に、ストラテジーテスターはMQL5クラウドネットワークにアクセスできます。それは、世界中の数千のエージェントを結集し、この計算能力は、取引プラットフォームのすべてのユーザーによって利用可能です。
ストラテジーテスターはエキスパートアドバイザーのテストと最適化の他にビジュアルモードでのカスタム指標の操作をテストにも使用できます。この機能によってマーケットからダウンロードされた指標のデモバージョンを簡単にテストすることができます。
エキスパートアドバイザーのテストとは過去の価格データを用いて、固定パラメータとの単一の実行です。本当の市場での使用前に、ストラテジーがどのように動作するかをテストすることができます。
テスターの起動後、複数の設定の代わりに標準的なタスクが表示されます。これらを選択することによって、テストをすぐに開始できます。これは、特に初心者に役立ちます。
主要な戦略テストと最適化タスクのいくつかは、スタートページに表示されます。さらに、以前に実行したタスクの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つを選択します:
ティック生成の詳細については、適切なセクションをお読みください。
pipsでの利益計算により、テストプロセスをスピードアップできます。変換レートを使用して通貨を預金するために利益を再計算する必要はありません(したがって、適切な価格履歴をダウンロードする必要はありません)。このモードでは、スワップと手数料の計算が削除されます。
このモードでは証拠金制御は実行されないことに注意してください。迅速かつ大まかな戦略推定のためにのみ使用し、より正確なモードを使用して得られた結果を確認してください。
テストと最適化に使用する初回入金の金額を指定します。現在接続されている口座の入金通貨がデフォルトで使用されますが、他の通貨を指定することもできます。適切なテストを確実に行うためには、利益と証拠金を特定の預金通貨に変換するためのクロスレートがアカウントで利用可能でなければならないことに注意してください。"Forex"または "Forex No Leverage"計算タイプをもつ銘柄のみがクロスレートとして使用できます。
次にテストと最適化のレバレッジを選択します。レバレッジはポジションと注文のマージンとしてアカウントに予約された資金の量に影響します。
選択したエキスパートアドバイザーのソースコードがある場合、このボタンをクリックして、MetaEditorでの編集に切り替えることができます。
このメニューを使用してテスター設定を管理します。さまざまなエキスパートアドバイザの設定のセットをiniファイルに保存し、数回クリックするだけでそれらにアクセスできます。現在のテスト設定は、Ctrl+Cを押してクリップボードにコピーすることもできます。お好みのテキストエディタで編集してから、Ctrl+Vを使用してコピーしてテスターにアップロードできます。
同じメニューから、最後に使用したプログラム、最後のチャート設定、テスト期間をすばやく選択できます 。
さらに、以前の最適化結果のいずれかや、結果が得られた設定にアクセスできます。
テスト/最適化に使用される主要な取引商品の設定を変更できます。ほぼすべての仕様パラメータ(ボリューム、取引モード、マージン要件、実行モード、その他の設定)を上書きできます。
取引制限、マージン設定、手数料などの戦略をテストするときに、独自の取引アカウントパラメータを設定します。このオプションにより、ブローカーが提供するさまざまな取引条件のシミュレーションが可能になります。
ビジュアルテストモードでは、履歴データのテスト中にエキスパートアドバイザーがどのように取引操作を実行するかを正確に視覚化できます。金融商品の各取引はチャートに表示されます。
|
入力パラメータ を使うと、エキスパートアドバイザーの動作を制御し、異なる市場条件や金融製品に調整することができます。例えば、エキスパートアドバイザーのパフォーマンスを、市場分析や意思決定に使われる異なる決済逆指値と決済指値、移動平均線の異なる時間軸などと実験することができます。
各入力パラメータの値を指定します。
パラメータセット MQL5プログラムの現在の設定に戻るには、コンテキストメニューを使用してパラメータセットを保存します。
戦略のテスト中に、取引制限、マージン設定、手数料などのカスタム取引口座設定を指定できます。このオプションにより、ブローカーが提供するさまざまな取引条件のシミュレーションが可能になります。
共通
このセクションでは、口座に同時に存在できる注文とポジションの最大数を設定できます。さらに、プログラムが取引を許可されていないセッションを構成できます。
証拠金
このセクションでは、テストで使用する証拠金予約ルールとポジション勘定システムを設定できます。
スク管理モデル: OTCとExchange、ネッティングまたはヘッジ。
このレベルに達すると、アカウントはマージンコール状態に切り替わります。
このレベルに達すると、すべての注文がキャンセルされ、すべての取引ポジションが決済されます。これらのレベルは、パーセンテージと金額で示すことができます。前者の場合、それらは口座の株式価値として決定されます。[In percent]が選択されている場合、レベルは口座の[証拠金レベル]値として定義されます(資金/証拠金*100)。
余剰証拠金の計算における現在の変動する利益/損失の計算方法は、次のとおりです。
余剰証拠金の計算におけるトレーダーの毎日の実現利益/損失を計算する方法は、次の通りです。
Release fixed profit at the end of day ? このオプションは、[Use daily fixed loss]オプションが選択されている場合にのみ使用可能になります。有効にした場合、累積利益は1日の終わりに解放されます(したがって、余剰証拠金に含まれます)。そうでなければ、この利益額はブロックされたままになります。
手数料
このセクションでは、すべての取引操作で請求される手数料を管理します。
現在の取引アカウントの手数料設定を適用するには、[Use predefined commissions]オプションを有効にします。
以下で指定されたカスタム設定の代わりに現在の取引口座手数料設定を使用するオプションを有効にします。
手数料を設定する銘柄の名前を指定します。銘柄ごとにいくつかの設定を追加できます。したがって、取引量または売上高に応じて、マルチレベルの手数料を設定できます。
手数料は、各取引の直後に請求することも、取引日または月の間に蓄積してから1つの操作で請求することもできます。
日次および月次モードでは、手数料は両方向の取引に対してが請求されます(ポジションのオープン/増加時とポジションの決済または一部決済時)。即時手数料の場合、取引方向は手動で設定できます。
イン/アウトタイプのリバーサル取引の場合、「イン」は新しく開いたポジションのボリュームにのみ手数料が請求されることを意味し、「アウト」は 決済ボリュームにのみ手数料が請求されることを意味します。「Close By」取引には、次のルールが適用されます。
手数料が請求される最小取引量(売上高)。範囲は重複してはなりません。それ以外の場合、手数料は操作が該当するすべての範囲に対して課金されます。
最大取引量(売上高) )手数料の請求元。範囲は重複してはなりません。それ以外の場合、手数料は操作が該当するすべての範囲に対して課金されます。
手数料の額。手数料の単位は、[モード]フィールドで選択した手数料の計算方法によって異なります。
最低手数料額。選択した計算モードが依存する値(基本通貨、グループ通貨、ポイントなど)。最小コミッション金額を制限しない場合は、0の値を設定します。
最高手数料。選択した計算モードが依存する値(基本通貨、グループ通貨、ポイントなど)。最高手数料は最低手数料より小さくすることはできません。最大手数料を制限したくない場合は、0の値を設定します。
手数料の計算単位: p>
手数料課金タイプ : p>
テスト/最適化が実行されるメインの取引商品の設定を上書きできます。量、取引モード、証拠金要件、実行モード、その他の設定など、ほぼすべての仕様パラメータを上書きできます。したがって、異なる条件でエキスパートアドバイザーを確認する必要がある場合、個別のカスタム銘柄を作成してその履歴をダウンロードする必要はありません。これは、標準の銘柄設定を変更することで実行できます。
銘柄仕様がカスタマイズされている場合、歯車アイコンと銘柄アイコンにはアスタリスクが付いています。これは、カスタムパラメータが現在のテストに使用されていることを示しています。
テストを始めるには「設定」タブの「スタート」をクリックします。テストの進行状況が左側に表示されます。
エキスパートアドバイザーのテスト結果は「結果」と「グラフ」タブに表示されます。
テスト結果の詳細は「結果」タブに表示されます。このタブには、自動売買ロボットの性能を評価するために役立つ、一般的なテストの結果、ならびに利益や取引数などの多くの統計値が含まれています。
追加のチャートは、数や時間、日や月によって取引操作の成功の分布を可視化するだけでなく、取引ストラテジーのリスクパラメータを記述します。
詳細はテストレポートセクションをご覧ください。
「グラフ」タブでは、選択された期間と製品でエキスパートアドバイザーがどの程度成功したかを視覚的に決定することができます。
バランスカーブ(青線)と有効証拠金カーブ(緑)は、タブのメインエリアに表示されます。日付をは水平スケール、バランス/有効証拠金値は、垂直スケール上に示されています。
|
タブの下部に資金の証拠金の割合(margin/equity)として計算される証拠金負荷のヒストグラムが表示されます。
テストの進捗状況は「ジャーナル」に反映されます。更に、エキスパートアドバイザーメッセージもジャーナルに追加されます。ビジュアルテストモードでは、テストの進捗状況はチャート上に直接表示されます。
エキスパートアドバイザがテストされたチャート(選択された銘柄と期間)はテストが終わるとすぐに開くことができます。それには「結果」タブのコンテクストメニューの「チャートを開く」をクリックします。テスト中にエキスパートアドバイザーによって実行された操作はすべてチャートに表示されます。 tester.tpl と名付けられた定形チャートが取引プラットフォームの /profiles/templates フォルダーに存在すると、それが開けられたチャートに適応されます。ない場合は、デフォルトの定形チャート(Default.tpl)が使われます。
テストされたエキスパートアドバイザーが、テストされる銘柄と期間で実行される指標を使用する場合、それもチャートに表示されます。しかし、指標の強制アンロード( IndicatorRelease 関数)がエキスパートアドバイザーのソースコードに実装されている場合、指標はチャートには表示されません。
フォワードテストとは、異なる期間でのエキスパートアドバイザーの繰り返した実行です。この機能を使用すると、履歴データの特定の領域でのパラメータフィッティングを回避することができます。
フォワードテストを始めるには「設定」タブの「フォワード」フィールドで全体の期間を選択します。
|
先行テストが有効な場合、選択された部分は「日付」フィールドで指定された値によって分離されます。最初の部分は、バックテストの期間であり、2つ目は、フォワードテストの期間です。
先行テストの結果は、独自の「フォワード」タブに表示されます。先行期間の開始日は、チャート上の縦線でマークされています。
テスト結果の詳細は「オプティマイズ結果の表示場所」セクションをお読みください。
取引プラットフォームのストラテジーテスターでは、エキスパートアドバイザーと指標をビジュアルモードにすることができます。このモードでは、バックテスト中にエキスパートアドバイザーが取引操作をどのように行うかを正確に可視化することができます。各取引は、金融銘柄のチャート上に表示されます。
ビジュアルテストを有効にするには設定で「ビジュアルモード」を選択します。
|
テストオプションと設定パラメータを設定して「スタート」をクリックします。
ビジュアルテストは取引プラットフォームをシミュレートする別のウィンドウで実行されます。そこにはチャート、気配値表示(マーケットウォッチ)、また取引操作が表示されるツールボックスと操作ログ(ジャーナル)があります。
テストを一時停止、速く/遅くするには、ツールバーを使用します。テストの特定の日付にジャンプすることもできます。
テストプロセスはホットキーで簡単に制御することができます。ホットキーの組み合わせはメニューコマンドの横に表示されています。
このタイプのテストの主な目的は、エキスパートアドバイザーのパフォーマンスの視覚的分析です。チャートは、エミュレートされた過去の価格データに基づいてリアルタイムに生成されます。自動売買ロボットの操作は、このチャート上に表示されます。
取引操作はアイコンとして表示されます。(買いの約定)及び(売りの約定)市場のエントリとエグジットの間には点線が表示されます。
気配値表示にはテスト中に生成された価格が表示されます。これは取引プラットフォームの気配値表示と似ていますが、特別な機能がいくつかあります。このウィンドウを表示非表示にするには、「表示」メニューの「気配値表示」コマンドを使用するか Ctrl+Mを押します。
「銘柄」タブには、金融製品の現在の価格情報が提供されています。表示される銘柄はメインなテスト銘柄とそのデータがエキスパートアドバイザーで使用されている銘柄に制限されています。
「ティック」タブは生成された価格のチャートを含みます。表示されるティック数は64000に制限されています。
データウィンドウ、価格(OHLC)、バーの日付と時刻、スプレッド、ボリュームや指標に関する情報を表示します。こちらからはすばやくチャートの選択時点での特定のバーと適用された指標についての情報を見つけることができます。このウィンドウは「表示」メニューの「データウィンドウ」をクリックするか Ctrl+Dを押して有効/無効にできます。
ウィンドウの上部には、金融製品とチャートの期間の名前が含まれています。チャート上の現在のカーソル位置に関する情報が下に表示されます。指標の情報は別のブロックで表示される別のサブウィンドウで表示されます。
エキスパートアドバイザーによる取引の詳細な研究にはツールボックスウィンドウを使用します。次の情報が複数のタブに含まれています。
テストについてのさらなる詳細は、ジャーナルにあります。ここには、テストとテスト中に実行されたエキスパートアドバイザーのアクションに関する情報が含まれています。
ビジュアライザーが開いている限り、 テストエージェントのログは取引プラットフォームのストラテジーテスターに送信されません。しかし、コンテクストメニューの 「ローカルエージェントジャーナル」 コマンドで取引プラットフォームを通して表示することができます。 |
ビジュアルテストモードは指標の履歴データに対する動作のモニターを可能にします。この機能によってマーケットから購入する前に指標をテストすることができます。無料のデモ版をダウンロードし、ストラテジーテスターで指標を実行します。
「インディケーター」プログラムタイプを選択し、指標を選択して「スタート」をクリックします。ビジュアルモードは自動的に有効にされます。他のパラメータは自動売買ロボットのテスト中と同じように設定されます。
指標の動作は、テスターでシミュレートされたティックの配列に基づいてプロットされるチャート上に示されています。