Скачать MetaTrader 5

Кривой iCustom()

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Создавай темы на форуме и увеличивай рейтинг!
Andrey Vasiliev
7843
Andrey Vasiliev 2011.04.15 23:11 

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

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


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

MetaQuotes
Админ
24951
Renat Fatkhullin 2011.04.15 23:57  

#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 2011.04.16 00:16  
Renat:

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

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

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

Andrey Vasiliev
7843
Andrey Vasiliev 2011.04.16 11:53  
Renat:

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

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


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

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

Mikhail Antropov
358
Mikhail Antropov 2012.09.03 22:15  

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

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

 

Спасибо 

Slawa
Модератор
6841
Slawa 2012.09.04 08:57  
landofcash:

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

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

 

Спасибо 

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

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

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

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

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

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

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

Mikhail Antropov
358
Mikhail Antropov 2012.09.04 17:05  

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

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

 

Vladislav Andruschenko
91925
Vladislav Andruschenko 2012.09.04 17:14  
landofcash:

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

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

 

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