Кривой iCustom() - страница 2

 
stringo:
  Дополнить список индикаторов "на лету" мы не можем.
А может тогда сделать в тестере вкладку "используемые индикаторы".
 
Yurich:
А может тогда сделать в тестере вкладку "используемые индикаторы".

А чем это будет отличаться от старого доброго input-а строкового типа для указания имени индикатора? Тогда оптимизация, за которую ратует МК, будет невозможна. ;-)

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

 
marketeer:

А чем это будет отличаться от старого доброго input-а строкового типа для указания имени индикатора? Тогда оптимизация, за которую ратует МК, будет невозможна. ;-)

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

Имена используемых индикаторов могут задаваться не только в input-параметрах, а могут, например, браться из списка во внешнем файле, да  еще много разных случаев может быть.
 
Yurich:
Имена используемых индикаторов могут задаваться не только в input-параметрах, а могут, например, браться из списка во внешнем файле, да  еще много разных случаев может быть.
Да не суть важно, как именно получено имя индюка извне - всё это позднее связывание, ведь выяснится уже в процессе выполнения кода. МК против таких вещей, которые хоть и гибки, но сказываются на эффективности.
 
marketeer:
Да не суть важно, как именно получено имя индюка извне - всё это позднее связывание, ведь выяснится уже в процессе выполнения кода. МК против таких вещей, которые хоть и гибки, но сказываются на эффективности.
Так, предлагаю сделать вкладку "используемые индикаторы", чтоб тестер знал какие индикаторы понадобятся при тестирование советника.
 

Что то я не могу победить этот iCustom в пятой платформе. Експерт в папке "\Experts" идикатор в папке \Indicators

Код типа: 

   path=TerminalInfoString(TERMINAL_PATH)+"\\MQL5\\Indicators\\";

   indHandle=iCustom(CurSymbol,CurPeriod,path+"trend.ex5",1,1);  

приводит

(EURUSD,M1) cannot load custom indicator 'C:\Program Files\MetaTrader 5\MQL5\Indicators\trend.ex5' [4802]

при этом все файлы на месте. Куда копнуть?

 
Alex_PAG:

Что то я не могу победить этот iCustom в пятой платформе. Експерт в папке "\Experts" идикатор в папке \Indicators

Код типа: 

   path=TerminalInfoString(TERMINAL_PATH)+"\\MQL5\\Indicators\\";

   indHandle=iCustom(CurSymbol,CurPeriod,path+"trend.ex5",1,1);  

приводит

(EURUSD,M1) cannot load custom indicator 'C:\Program Files\MetaTrader 5\MQL5\Indicators\trend.ex5' [4802]

при этом все файлы на месте. Куда копнуть?

 

Если это в тестере, нужно указать #property tester_indicator.
 
Alex_PAG:

Что то я не могу победить этот iCustom в пятой платформе. Експерт в папке "\Experts" идикатор в папке \Indicators

Код типа: 

   path=TerminalInfoString(TERMINAL_PATH)+"\\MQL5\\Indicators\\";

   indHandle=iCustom(CurSymbol,CurPeriod,path+"trend.ex5",1,1);  

приводит

(EURUSD,M1) cannot load custom indicator 'C:\Program Files\MetaTrader 5\MQL5\Indicators\trend.ex5' [4802]

при этом все файлы на месте. Куда копнуть?

 Справочник копните. На предмет того, как правильно указывать имя пользовательского индикатора в качестве параметра функции iCustom().
Переход на новые рельсы: пользовательские индикаторы в MQL5
Переход на новые рельсы: пользовательские индикаторы в MQL5
  • 2009.11.23
  • Андрей
  • www.mql5.com
Я не буду перечислять все новые возможности и особенности нового терминала и языка. Их действительно много, и некоторые новинки вполне достойны освещения в отдельной статье. Вы не увидите здесь кода, написанного по принципам объектно-ориентированного программирования — это слишком серьезная тема для того, чтобы просто быть упомянутой в контексте как дополнительная вкусность для кодописателей. В этой статье остановимся подробней на индикаторах, их строении, отображении, видах, а также особенностях их написания по сравнению с MQL4.
 
marketeer:
Если это в тестере, нужно указать #property tester_indicator.
 У него имя пользовательского индикатора при правильном использовании в качестве параметра функции iCustom() представляет собой константную строку "trend.ex5". Поэтому указывать  #property tester_indicator не обязательно.
 
MoneyJinn:

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

Повторяю. Список пользовательских индикаторов, необходимых для тестирования, формируется на этапе компиляции. При этом в список попадают индикаторы, имя которых в качестве константной строки при сутствует в вызове iCustom, и индикаторы, перечисленные в #property tester_indicator

Тестер - это отдельная от терминала программа, которая запускается в собственном окружении

Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
  • www.mql5.com
Основы языка / Препроцессор / Свойства программ (#property) - Документация по MQL5