最適化の設定

Hornet USDJPY | fx-on.com

MT4 ストラテジーテスター 最適化の設定

最適化は同じデータ上で入力値が異なる同じエキスパートの連続パスを表わします。この時点で、エキスパートの効率を最大にするようにパラメータをとることができます。ターミナルにはこのプロセスの自動化を可能にする手法が組み込まれています。エキスパートパラメータの最適化を開始する前に、それらを設定する必要があります。そのためには次のことを行う必要があります。

  • エキスパートを選択し、その入力値を設定します。
  • 通貨ペアとその周期を選択します。
  • 3つのバーモデル化方法のいずれか1つを選択します。
  • 最適化の期間を設定します(オプション)。

ターミナルでエキスパートのテストと最適化には「テスター」 と名付けられている特別のウィンドウを使います。上記のすべてパラメータはこのウィンドウの「設定」タブで設定されます。

エキスパートアドバイザとそのパラメータ

「テスター⇒エキスパート」ウィンドウで最適化をするエキスパートを選択します。ここで選択できるのは、クライアントターミナルで使用可能なエキスパートだけです。選択するためには、ファイルをコンパイルして/EXPERTSフォルダに保存しなければなりません。

エキスパートの選択後、テストパラメータとその値を設定する必要があります。これは「エキスパートプロパティ」ボタンをクリックして行うことができます。この時点で、以下の3つのタブのある新しいウィンドウが表示されます。

テスト

一般的な最適化パラメータをこのタブで設定します。これらは相応する欄に入力する初回預り証拠金の額と通貨です。最適化中にエキスパートによって運用されるのはこの証拠金です。オープンするポジションのタイプもこのタブで選択されます。ロングのみ、ショートのみ、またはロング & ショートがあります。どのようなエキスパートアルゴリズムが使用されようと、ポジションは指定された方向でのみオープンします。最適化のジェネティックアルゴリズムを含めて、最適化するパラメータ(残高による最大化、利益率、期待ペイオフ、または最大ドローダウン値または率による最小化)を選択することができます。

入力値

すべてのパラメータのリストがここに表示されます。パラメータの値はエキスパートのオペレーションに影響を与え、クライアントターミナルから直接変更出来る変数です。これらのこれらのパラメータを変更するために、エキスパートコードを変更する必要はありません。入力変数の数はエキスパートによって異なります。最適化では、パラメータの値は、「スタート」、「ステップ」、及び「ストップ」欄に設定されます。外部変数の初期値、間隔変更、及び最終値をそれぞれこれらの欄に設定します。変数名の左にパラメータを最適化プロセスに含めるチェックボックスがあります。変数名がこのチェックボックスでチェックされない場合、その変数は最適化に関係しません。その値は最適化プロセスの中では変更されず、「値」欄に入力されたパラメータがここに書き込まれます。エキスパートパスの数はこれらのパラメータに直接依存します。「値」欄に書かれたデータはエキスパートの最適化に影響がなく、そのテストのためにのみ必要なものです。

以前にすでに保存されている入力値のセットは(「スタート」、「ステップ」、及び「ストップ」欄に入力されたものを含めて)ダウンロードすることができます。これは「ロード」ボタンをクリックし、予め保存されているパラメータのセットを選択して行うことができます。外部変数の現在のセットは相応するボタンをクリックして保存することができます。

最適化

このタブでは最適化時の制限を管理することができます。個別のプロセス中で何かの条件に適合すると、エキスパートのこのパスは中断されます。制限パラメータは以下の通りです。

1.最小預り証拠金残高 : 証拠金通貨単位の最小預り証拠金残高です。
2.最大利益 : 証拠金通貨単位の最大利益です。
3.最小必要証拠金水準 %: パーセント単位の最小必要証拠金水準です。
4.最大ドローダウン %: パーセント単位の最大ドローダウンです。
5.連続損失 : 連続損失内の最大の損失。連続損失は連続する損失取引の数です。
6.連続損失取引 : 最大連続損失の取引数です。
7.連続勝利 : 連続勝利内の最大の勝利。連続勝利は連続する勝利取引の数です。
8.連続勝利取引 : 最大連続勝利の取引数です。
条件の制限を有効にするには、左側のチェックボックスにそのフラグを設定する必要があります。「値」欄で左マウスボタンをダブルクリックして、既存のパラメータを変更することができます。
通貨ペアとその周期

テストを開始するためには、1つのエキスパートを選択して、それを設定するだけでは十分ではありません。テストのための通貨ペアと周期を選択します。これらはテストに使用されるデータです。テストでは、ターミナルで使用可能な通貨ペアを選択するか外部データファイルを使用することができます。/TESTERディレクトリに保存されている*.FXTフォーマットのヒストリーデータファイルがテストに使用されます。これらのファイルは、ターミナルで使用可能な通貨ペアが選択されると、テストで自動的に作成されます。外部データを使用する場合は、このテストの継続を上書きしないため、相応するファイルを/TESTERディレクトリに手動で保存して「再計算」を使用不可にする必要があります。

通貨ペアは「通貨ペア」の欄に定義されており、周期は「周期」欄に定義されています。この通貨ペア、周期及びモデル化方法のデータファイルがない場合、データファイルは自動的に作成されます。必要なファイルがすでに作成されており、「再計算」オプションが使用可能となっている場合、データファイルが再生成されます。通貨ペアまたは周期のヒストリーファイルがない場合、テスターは最新の512のヒストリーバーを自動的にダウンロードします。

注意 : 通貨ペアに関する最新の512のヒストリーバー以上にデータがある場合、ヒストリーデータは使用可能な最後のデータまで自動的にダウンロードされます。これは入力トラフィックを急激に増加させることになります。
モデリング方法

ヒストリーデータはバーとしてのみターミナルに保存され、TOHLCV(HSTフォーマット)として記録を表わします。これらのデータはエキスパートのテスト時の価格変動のモデル化に使用可能です。いくつかのケースでは、そのような情報がテストには十分ではないことがあります。たとえば、日足については、1つのバー内の価格変動はエキスパートの起動につながることがあります。同時に、テスト時にはエキスパートは起動しないことがあります。言い換えると、バーのみに基づくエキスパートのテストは不正確になることがあり、エキスパートの効率について誤った考え方を与えることがあります

ターミナルでは、ヒストリーデータの多種多様なモデル化方法により、エキスパートをテストすることができます。より短い周期のヒストリーデータを使って、バー内の価格変動を見ることができます。即ち、価格変動はより正確にエミュレートされます。たとえば、エキスパートを1時間のデータに基づいてテストする場合、1つのバーの価格変動は1分足のデータに基づいてモデル化することができます。したがって、モデル化はヒストリーデータを実際の価格変動に近づけ、エキスパートのテストをより信頼性のあるものにします。

テストには以下の3つのヒストリーデータモデル化方法の1つを選択することができます。

オープン価格のみ (作成されたばかりのバーを分析する方法で一番速い方法)

一部のロボット取引システムはバー内のモデル化の属性に依存せず、完結したバーに基づいて取引を行います。バーは次のバーが現れると完結します。
このモードでは、オープン時のバーがまずモデル化(Open = High = Low = Close, Volume=1)されます。それによってエキスパートが先行バーの完結を正確に特定できます。エキスパートのテスト開始に使われるのはこの初期バーです。次のステップでは、完全に完結した現行バーが表示されますが、テストはそれに基づいては行われません。

コントロールポイント(12のコントロールポイントのフラクタル補完で直近の短期周期に基づく)

制御点モデリング方法はバー内で取引を行うエキスパートの効率の大まかな見積りを行うのが目的です。直近のより短い周期のヒストリーデータはこの方法の適用に使用できるものでなければなりません。ほとんどの場合、より短い周期の使用可能データはテスト対象の周期の時間範囲を完全にカバーするものではありません。より短い周期のデータが見当たらない場合、バーの追加作成が先行する12のバーに近い価格で生成されます。それは、バー内の変動は直近の12の周期における価格の変動と同じであることを意味します。それがフラクタル補完です。

より短い周期のヒストリーデータが表示され次第、フラクタル補完はこれらの新しいデータに適用されます。しかし、使用される先行バーは12ではなく6だけになります。そのことは、実際に存在するOpen、High、Low、Close価格が再現され、さらに2つの価格が生成されることを意味します。生成されたこれら2つの価格の値と場所は先行する6のバーによって異なります。

レートの更新ごと(各ティックのフラクタル補完で全ての使用可能な短期周期に基づく)

これはバー内の価格モデル化のもっとも正確な方法です。「コントロールポイント」の場合とは異なり、この方法は直近のより短い周期のデータの生成だけではなく、すべての使用可能なより短い周期のデータの生成にも使用します。さらに、同じ周期について同時に複数の周期のデータがある場合、モデル化にはより短い周期のデータが使われます。以前の方法の場合と同様、フラクタル補完によってコントロールポイントが生成されます。この方法はコントロールポイント間の価格変動のモデル化にも使用されます。類似する複数の入力を次々にモデル化することが可能です。この場合、二重の指値がフィルターにかけて除去され、最後の指値の量が確定されます。。
大量のレートの更新データがモデル化される可能性があることを考慮に入れる必要があります。これはオペレーティングシステムシステムの消費資源とテスト速度に影響することがあります。

注意:

テスト対象期間を完全にカバーする使用可能なより短い周期がない場合はレートの更新ごとによるテストの開始はお勧めできません。そのような場合結果は不正確なものになります。
コントロールポイントに基づくモデル化は基本的にエキスパートの最適化で使用し、すべてのレート更新モデル化はより正確なテストのために行います。
モデル化パラメータと日付範囲(以下で説明)が変更された後、データファイルを再作成しなければなりません。これを行うには、「再計算」のフラグを立てる必要があります。上記の設定が変更されない場合、再計算の必要はありません。この場合、テスト時間を減らすため、上記のオプションを使用不可にすることを勧めます。

日付範囲

日付範囲は、すべての使用可能データに基づくのではなく一定の期間の範囲内でのみエキスパートテストを実行するものです。これはヒストリーデータの特定の部分のテストが必要な場合に役に立ちます。日付範囲はエキスパートのテストだけではなく、バーのテスト継続のモデル化にも使用することができます(テストに使用するためにモデル化されたデータのファイル)。未使用のデータの量が非常に大きくなるレートの更新ごとのモデル化については、ヒストリー全体のデータのモデル化は多くの場合不要です。テスト継続性の初期モデル化時点でデータ範囲の設定が許可された場合、この範囲を超えるバーのモデル化は行われず、出力の継続に変換されるだけであるのはこのためです。データは受け取ったヒストリー全体に関する指標の正しい計算を可能にするため継続から除外されません。最初の100のバーはいずれもモデル化の対象ではないことに留意する必要があります。この制限は日付範囲の指定に関係なく存在します。

日付範囲の制限を使用可能にするには、「日付を使用」のフラグを立て、必要な値を「から」及び「まで」の欄に指定する必要があります。 設定がすべて完了すると、「スタート」ボタンを押してテストを開始することができます。テストが開始されると、このプロセスのおよその進捗度がウィンドウの下部に表示されます。

注意 :
「最適化」が無効にされると、エキスパートはテストされますが、「スタート」ボタンをクリックしても最適化は行われません
最適化時には、テストの場合と同様、独自のヒストリーファイルを使用することができます。

スポンサーリンク


シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク