Управление видимостью индикаторов: TesterHideIndicators

По умолчанию на графике визуального тестирования показываются все индикаторы, которые создаются в тестируемом эксперте. Также эти индикаторы показываются на графике, который автоматически открывается по окончании тестирования. Это все касается только тех индикаторов, которые непосредственно создаются в вашем коде: вложенные индикаторы, которые могут использоваться в расчетах основных индикаторов, сюда не относятся.

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

void TesterHideIndicators(bool hide)

Логический параметр hide предписывает либо скрывать (по значению true), либо отображать (по значению false) индикаторы. Установленное состояние запоминается средой исполнения MQL-программы до тех пор, пока не будет изменено повторным вызовом функции с обратным значением параметра. Текущее состояние данной настройки влияет на все вновь создаваемые индикаторы.

Иными словами функцию TesterHideIndicators с необходимым значением флага hide следует вызывать перед созданием дескрипторов соответствующих индикаторов. В частности, после вызова функции с параметром true новые индикаторы будут помечены флагом скрытия и не будут показаны при визуальном тестировании и на графике, который автоматически открывается при завершении тестирования.

Для отключения режим скрытия вновь создаваемых индикаторов нужно вызвать TesterHideIndicators с параметром false.

Функция применима только в тестере.

Функция имеет особенности работы при условии, что для тестера или эксперта созданы специальные tpl-шаблоны в папке /MQL5/Profiles/Templates.

Если в папке присутствует специальный шаблон <имя_эксперта>.tpl, то при визуальном тестировании и на графике тестирования будут показаны только индикаторы из данного шаблона. В этом случае никакие индикаторы, используемые в тестируемом эксперте, показаны не будут, даже если в коде советника вызывалась функция TesterHideIndicators с параметром false.

Если же в папке есть шаблон tester.tpl, то при визуальном тестировании и на графике тестирования будут показаны индикаторы из шаблона tester.tpl и те индикаторы из советника, которые не запрещены вызовом TesterHideIndicators. Функция TesterHideIndicators не влияет на индикаторы в шаблоне.

Если шаблона tester.tpl нет, но есть шаблон default.tpl, то индикаторы из него обрабатываются по аналогичному принципу.

Мы продемонстрируем работу функции в большом примере эксперта далее.