MQL5 リファレンス共通関数TesterHideIndicators 

TesterHideIndicators

EAで使用される指標の非/表示モードを設定します。この関数は、テスト中にのみ指標の可視性を管理するためのものです。

void  TesterHideIndicators(
  bool      hide     // フラグ
  );

パラメータ

hide

[in]  テスト中に指標を非表示にするフラグ(true - 非表示、false - 表示)

戻り値

なし

注意事項

デフォルトでは、テスト中のEAで作成されたすべての指標は視覚的にテストチャートに表示されます。さらに、これらの指標は、テストが完了したときに自動的に開かれるチャートに表示されます。TesterHideIndicators()関数を使用すると、開発者は使用される指標の表示を無効にすることができます。

EAをテストするときに適用された指標の表示を無効にするには、EAのハンドルを作成する前にTesterHideIndicators()をtrueで呼び出します。それ以降に作成されるすべての指標には非表示フラグが設定されます。これらの指標は、ビジュアルテスト中にも、テスト完了時に自動的に開かれるチャート上にも表示されません。

新しく作成された指標の非表示モードを無効にするには、TesterHideIndicators()をfalseで呼び出します。テスト中のEAから直接生成された指標のみをテストチャートに表示することができます。このルールは<data_folder>MQL5\Profiles\Templatesにテンプレートが1つもない場合にのみ適用されます。

<data_folder>MQL5\Profiles\Templatesディレクトリに特別なテンプレート(<EA_name>.tpl)が含まれている場合は、このテンプレートの指標のみがビジュアルテスト中とテストチャート上に表示されます。この場合、テスト中のEAに適用された指標は表示されません。この動作は、EAコードでTesterHideIndicators()がtrueで呼び出されても変わりません。

<data_folder>MQL5\Profiles\Templatesディレクトリにtester.tplがあるが特別な<EA_name>.tplテンプレートがない場合は、tester.tplの指標とTesterHideIndicators()関数で無効化されていないEA指標がビジュアルテストとテストチャートで表示されます。tester.tplテンプレートがない場合は、default.tplテンプレートの指標が代わりに使われます。

ストラテジーテスターが適切なテンプレート(<EA_name>.tpl、tester.tplまたはdefault.tpl)を見つけられなかった場合、EAに適用された指標の表示は完全にTesterHideIndicators()関数によって管理されます。

例:

bool CSampleExpert::InitIndicators(void)
 {
  TesterHideIndicators(true);
//--- MACD指標を作成する
  if(m_handle_macd==INVALID_HANDLE)
    if((m_handle_macd=iMACD(NULL,0,12,26,9,PRICE_CLOSE))==INVALID_HANDLE)
       {
        printf("Error creating MACD indicator");
        return(false);
       }
  TesterHideIndicators(false);
//--- EMA指標を作成してコレクションに追加する
  if(m_handle_ema==INVALID_HANDLE)
    if((m_handle_ema=iMA(NULL,0,InpMATrendPeriod,0,MODE_EMA,PRICE_CLOSE))==INVALID_HANDLE)
       {
        printf("Error creating EMA indicator");
        return(false);
       }
//--- 成功した
  return(true);
 }

参照

IndicatorRelease