Кривой iCustom()

 

Подскажите, кто знает, как реализовать на MQL5 в эксперте функцию iCutom() без конструкции вида: #property tester_indicator "indicator_name.ex5" ?

Каждый раз вручную вносить правки в эксперт только для его тестирования - это очень странное занятие.


Совет: https://www.mql5.com/ru/forum/1111/page182#comment_31605 - к индикаторам, видимо, не относится.

 

#property tester_indicator нужно указывать только для динамически формируемых/конструируемых имен индикаторов.

Если индикаторы прописаны статически текстом в виде iCustom(..., ..., "indicator_name.ex5", ......), то тестер автоматически их подхватит.

Вот пример:

int OnInit()
  {
//---
   int my=iCustom(_Symbol,_Period,"Examples\\ATR.ex5",14);
//---
   return(0);
  }
Вот логи тестера - видно, как индикатор автоматически подгружается на старте:
2011.04.15 23:59:58     Core 01 initial deposit 10000.00 USD, leverage 1:100
2011.04.15 23:59:58     Core 01 program file added: Indicators\Examples\ATR.ex5. 6645 bytes loaded
2011.04.15 23:59:58     Core 01 expert file added: Experts\Empty.ex5. 3297 bytes loaded
2011.04.15 23:59:58     Core 01 275 bytes of selected symbols loaded
 
Renat:

#property tester_indicator нужно указывать только для динамически формируемых/конструируемых имен индикаторов.

Если индикаторы прописаны статически текстом в виде iCustom(..., ..., "indicator_name.ex5", ......), то тестер автоматически их подхватит.

Попутный вопрос. В справочнике имя индикатора для iCustom указывается без расширения .ex5. Допустимы два варианта: с .ex5 и без?
 
Да, можно указывать и без расширения.

 
Renat:

#property tester_indicator нужно указывать только для динамически формируемых/конструируемых имен индикаторов.

Если индикаторы прописаны статически текстом в виде iCustom(..., ..., "indicator_name.ex5", ......), то тестер автоматически их подхватит.


Проблема в том, что когда имя функции задается пользователем через Input переменную, эксперт невозможно запустить в режиме тестирования.

Есть ли смысл вводить упомянутый контроль, если Input переменные и так защищены и по своей сути являются константами?

 

Удалось ли решить это:

---> Проблема в том, что когда имя функции задается пользователем через Input переменную, эксперт невозможно запустить в режиме тестирования.

 

Спасибо 

 
landofcash:

Удалось ли решить это:

---> Проблема в том, что когда имя функции задается пользователем через Input переменную, эксперт невозможно запустить в режиме тестирования.

 

Спасибо 

Дело в том, что список пользовательских индикаторов, которые необходимо передать тестеру, формируется на этапе компиляции. То есть, в готовом ex5-файле присутствует вся нужная информация. Дополнить список индикаторов "на лету" мы не можем.
 
stringo:
Дело в том, что список пользовательских индикаторов, которые необходимо передать тестеру, формируется на этапе компиляции. То есть, в готовом ex5-файле присутствует вся нужная информация. Дополнить список индикаторов "на лету" мы не можем.

Что мешает изменить указанный недостаток тестера? Для реальной же торговли присутствие имени индикатора в ex5-файле эксперта необязательно.

 
stringo:
Дело в том, что список пользовательских индикаторов, которые необходимо передать тестеру, формируется на этапе компиляции. То есть, в готовом ex5-файле присутствует вся нужная информация. Дополнить список индикаторов "на лету" мы не можем.

и это очень огорчает.

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

получается, что графические объекты, интерактивная работа с чартом в такой модели будет выполнятся из-за угла с ломом и лопатой. если вообще будет.

Уже сейчас понятно, что такая виртуализация эксперта в тестере - это неправильно.  Потеряли широкие возможности и наработки МТ4... жаль.

 

Вообще не совсем понятно, зачем делать тестер, который не может повторить реал даже на уровне выполнения кода....

Как вообще обьяснять людям которые используют экспертов, и далеки от программирования, что им надо всего то перекомпилить советника изменив пару строчек кода....

 

 
landofcash:

Вообще не совсем понятно, зачем делать тестер, который не может повторить реал даже на уровне выполнения кода....

Как вообще обьяснять людям которые используют экспертов, и далеки от программирования, что им надо всего то перекомпилить советника изменив пару строчек кода....

 

надо сделать программу которая будет сто делать автоматически :-) 
Причина обращения: