Advisor Tester - バックテスト


ヒストリカルデータを利用しエキスパート・アドバイザー(EA)を実行し、正しく動作するかどうか確認するためにバックテストを行います。バックテストの時は、為替相場のローソク足のデータに基づいたティック・チャートのモデル・バージョンが使用されているので、リアルタイムのチャートとのズレが出てくる可能性があります。


バックテストを実行させるために、以下のステップを行います。

ステップ① メインメニューから「表示」を選択

ステップ② 「アドバイザー・テスター」をクリック。

ステップ③ パラメーターや、モードなどの設定用ダイアログボックスが出てきます。


バックテストのパラメーター設定方法

「パラメーターの入力」タブで条件を設定します。


img

「アドバイザー」には、全ての使用可能なスクリプトが集まっています。


プロパティーのタブはEA変更のために使用されます。このボックスはグローバル変数(「外部(extern)」)の含むEA設定のために使われています。


タブの中にあるオプションの一覧がMarket Watchダイアログボックスの一覧に一致しています。


設定可能な時間軸:

  • M1 – 1分足
  • M5 – 5分足
  • M15 – 15分足
  • M30 – 30分足
  • H1 – 1時間足
  • H4 – 4時間足
  • D1 – 日足
  • WN – 週足

「スプレッド」タブの中の一覧は、バックテストするスプレッドを表示します。手動入力、または一覧からの選択でスプレッド値が設定できます。さらに、「Current Spread」は選択した通貨ペアの現行のスプレッドに相当します。


バックテストの方法は「Control points」「Open Prices Only」 の中から選択します。

「Control points」はレートを取得するために始値・高値・安値・終値(4 本値全て)を使用します。終値が始値より高い場合は、始値→高値→安値→終値の順番が適用されます。終値が始値より安い場合は、始値→安値→高値→終値の順番が適用されます。

「Open prices only」は、始まり値だけを用いてバックテストを行います。完成したローソク足に基づくEAのために最も適切だと思われます。このモードは、バックテストの実行スピードが最速です。


「Current distance」の設定:手動入力、または一覧からの選択は可能です。選択された通貨ペアの注文のディスタンスが設定対象になります。


「Limit dates」のフラグはバックテストの期間を限定するために使用されます。 「オフ」にしたフラグの時は、ダウンロードされた通貨ペアのデータ全体が使用されますが、フラグを立てたら「From」(開始日)と「To」(終了日)の期間を指摘するオプションが可能になります。


設定された期間はダウンロードのデータを超える時、超えた分の値は0にします。


「Initial Deposit」(初期投資金額)の欄には、バックテスト開始時の米ドル建て資金額を入力します。


「Enable Visual mode」にチェックを入れたら、画面に注文時点及び取引実行時点を表示しているチャートが出てきます。このモードがバックテスト実行スピードを落とします。


「速度」と「一時停止」のボタンはVisual Modeの時にバックテストの実行スピードを調整するために使われます。


「Enable expert logs」「Journal」タブにデータを出力します。


「スタート (ストップ)」ボタンは、テスト開始(停止)を行います。


バックテストの実行ポイントが表示される場合は、チャートの背景は灰色で、ポジション開始時点は、買い付け-黒い矢印、売り付け-赤い矢印で表記されます。


img

「Results」―チャートで表示される結果

img

「Results」タブにテスト実行中に開始されたポジションの結果が出力されます。

既決済ポジションは「Closed Positions」表に、未決済ポジションは「Open Positions」表に表示されます。


既決済ポジションの出力データは:


  • # - 既決済ポジション番号
  • Deal ID - 取引ID
  • Symbol – 取扱商品名
  • Direction –取引 方向(買い・売り)
  • Volume 1 - ベース通貨建て取引量
  • Volume 2 - クオート通貨建て取引量
  • Open rate –開設価格
  • Open time –開設日付&時間
  • Stop loss – 損切り(実行しなかった場合は非表示)
  • Take profit – 利食い (実行しなかった場合は非表示)
  • Last swap* - 最終スワップ (現在のバージョンは適用されない)
  • Rate close - 閉鎖価格
  • Time close – 閉鎖日付&時間
  • Profit – 利益/損失
  • Balance* - 口座資金
  • Equity* - 口座残高

表は、各項目ごとに並べ替えできます。基準にしたい行見出しをクリックし並べ替えを行います。


* この項目は、有効にしたShow extended columnsモードで表示されます。モードはメニューバーから有効にします。


未決済ポジションの出力データは:


  • Deal ID – 取引ID
  • Symbol - 取引商品名
  • Direction –方向(売り・買い)
  • Volume 1 - ベース通貨建て取引量
  • Volume 2 - クオート通貨建て取引量
  • Open rate -開設価格
  • Open time -開設日付&時間
  • Stop loss – 損切り(実行しなかった場合は非表示
  • Take profit -利食い (実行しなかった場合は非表示)
  • Last swap - 最終スワップ(現在のバージョンは適用されない)
  • Profit – 利益/損失(テスト終了時点で計算される)

テスト結果はダイアログボックスの下に表示されます。


  • Balance – 口座資金
  • Equity – 口座残高
  • Margin – 証拠金 (テスト終了時点で計算される)
  • Margin free – 有効証拠金

Equity Graph - 資金・残高の変化のグラフ表示

img

既決済ポジション番号はX軸に、現時点の資産/残高のバランスはY軸に表示。資産の変化は青色で、残高の変化は緑色で表記。


ダブルクリックする際、グラフで選択されたポジションに該当する「Results」(結果)タブが開きます。


Journal - 操作履歴

「System.Print」― 結果表示方法。情報派2行表で表示されます。左側は操作の時間が表記、右側は操作の説明が表記されます。「パラメーター」タブのEnable expert logs にチェックが入れてない場合は、EAの開始と終了に関する履歴が表示されます。

電話