TesterHideIndicators

Задает режим показа/сокрытия индикаторов, которые используются в эксперте. Функция предназначена для управления видимостью используемых индикаторов только при тестировании.

void  TesterHideIndicators(
   bool      hide     // флаг
   );

Параметры

hide

[in]  Флаг сокрытия индикаторов при тестировании. Укажите true, если необходимо скрывать создаваемые индикаторы, иначе false.

Возвращаемое значение

Нет.

Примечание

По умолчанию на графике визуального тестирования показываются все индикаторы, которые создаются в тестируемом эксперте.  Также эти индикаторы показываются на графике, который автоматически открывается по окончании тестирования. Функция TesterHideIndicators() позволяет разработчику в коде эксперта прописать запрет на показ используемых индикаторов.

Для того чтобы запретить показ используемого индикатора при тестировании советника, необходимо перед созданием его хендла вызвать TesterHideIndicators() с параметром true – все создаваемые после этого индикаторы будут помечены флагом скрытия. Индикаторы, помеченные флагом скрытия, не показываются при визуальном тестировании и на графике, который автоматически открывается при завершении тестирования.

Чтобы отключить режим скрытия вновь создаваемых индикаторов, нужно вновь вызвать TesterHideIndicators(), но уже с параметром false. На график тестирования могут быть выведены только те индикаторы, которые непосредственно создаются из тестируемого эксперта. Это правило относится только к тем случаям, когда нет ни одного шаблона в папке <каталог_данных>MQL5\Profiles\Templates.

Если в папке <каталог_данных>MQL5\Profiles\Templates присутствует специальный шаблон <имя_эксперта>.tpl, то при визуальном тестировании и на графике тестирования будут показаны только индикаторы из данного шаблона. В этом случае никакие индикаторы, используемые в тестируемом эксперте, показаны не будут. Даже если в коде советника вызывалась функция TesterHideIndicators() с параметром true.

Если же в папке <каталог_данных>MQL5\Profiles\Templates нет специального шаблона <имя_эксперта>.tpl, но есть шаблон tester.tpl, то при визуальном тестировании и на графике тестирования будут показаны индикаторы из шаблона tester.tpl и индикаторы из советника, которые не запрещены к показу с помощью функции TesterHideIndicators(). Если шаблона tester.tpl нет, то вместо него будут использованы индикаторы из шаблона default.tpl.

Если тестер стратегий не найдет ни одного подходящего шаблона (<имя_эксперта>.tpl, tester.tpl или default.tpl), то показ используемых в советнике индикаторов полностью управляется функцией TesterHideIndicators().

Пример:

bool CSampleExpert::InitIndicators(void)
  {
   TesterHideIndicators(true);
//--- create MACD indicator
   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);
//--- create EMA indicator and add it to collection
   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);
        }
//--- succeed
   return(true);
  }

Смотри также

IndicatorRelease