Скачать MetaTrader 5

Кривой iCustom()

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Andrey Vasiliev
10337
Andrey Vasiliev  

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

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


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

MetaQuotes
Админ
25340
Renat Fatkhullin  

#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
Yedelkin
4532
Yedelkin  
Renat:

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

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

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

Andrey Vasiliev
10337
Andrey Vasiliev  
Renat:

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

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


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

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

Mikhail Antropov
358
Mikhail Antropov  

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

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

 

Спасибо 

Slava
Модератор
6972
Slava  
landofcash:

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

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

 

Спасибо 

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

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

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

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

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

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

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

Mikhail Antropov
358
Mikhail Antropov  

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

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

 

Vladislav Andruschenko
103908
Vladislav Andruschenko  
landofcash:

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

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

 

надо сделать программу которая будет сто делать автоматически :-) 
123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий