Почему не работает пример из документации по iCustom? - страница 2

 
alxm:

Если кому интересно, выкладываю рабочий код:

Буду рад услышать о более простых способах решения.


Это правильно решение. Если не нравится иметь много кода - сделайте отдельную функцию и вызывайте её.

Думается, это разумный компромисс :)

 
Rosh:

Это правильно решение. Если не нравится иметь много кода - сделайте отдельную функцию и вызывайте её.

Думается, это разумный компромисс :)

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

На этом остановлюсь. Спасибо. 

Безграничные возможности с MetaTrader 5 и MQL5
Безграничные возможности с MetaTrader 5 и MQL5
  • 2012.05.14
  • Anatoli Kazharski
  • www.mql5.com
В этой статье я хотел бы показать пример, какой может быть программа для трейдера, а также, каких результатов можно достичь за 9 месяцев, начав изучать MQL5 с нуля. Ещё этот пример показывает, насколько программа для трейдера может быть многофункциональной и информативной, занимая при этом минимум пространства на ценовом графике. Также будет продемонстрировано, какими красочными, яркими и интуитивно-понятными для пользователей могут быть информационно-торговые панели. Это и многое-многое другое...
 
У меня тоже случился затык с iCustom. Стоял себе iCustom в советнике, где обращался к индюку в виде константной строки "Marketeer/Indicator", работал нормально. Потребовалось мне аналогичный вызов сделать из другого индюка. Там эта строка не заработала - традиционно cannot load custom indicator. Пляски с бубном не помогли, до тех пор пока не заменил прямой слеш на обратный. Вот так - "Marketeer\Indicator" - заработало. Итого имею эксперт и индюк, в которых один и тот же вызов iCustom пришлось писать по-разному. Баг?
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
  • www.mql5.com
Основы языка / Типы данных / Целые типы / Символьные константы - Документация по MQL5
 
marketeer:
  Итого имею эксперт и индюк, в которых один и тот же вызов iCustom пришлось писать по-разному. Баг?
Похоже на то.
 

В примере

MA_handle=iCustom(NULL,0,"Custom Moving Average",
                     MA_Period,
                     MA_Shift,
                     MA_Method,
                     PRICE_CLOSE // считаем по ценам закрытия
                     );

В документации

Примечание

Пользовательский индикатор должен быть скомпилирован (файл с расширением EX5)
и находиться в директории MQL5/Indicators клиентского терминала или вложенной поддиректории.
name

[in]  Имя пользовательского индикатора, содержащее путь относительно корневой директории индикаторов (MQL5/Indicators/).
Если индикатор находится в поддиректории, например, в MQL5/Indicators/Examples, то имя должно выглядеть соответственно,
а именно – "Examples\\имя_индикатора" (обязательно указание двойного обратного слеша вместо одиночного в качестве разделителя).

Т. е., индикатор по инструкции - в  MQL5/Indicators, вызов - как написано в примере, "Custom Moving Average" .

А его там и нет. Он в 

MA_handle=iCustom(NULL,0,"Examples\\Custom Moving Average",
                     MA_Period,
                     MA_Shift,
                     MA_Method,
                     PRICE_CLOSE // считаем по ценам закрытия
                     );
 

Спасибо за сообщение. Пример был написан давно, и за это время пользовательские индикаторы из стандартной поставки были перемещены в отдельную папку "Examples".

Приносим извинения за внесенную неразбериху, пример исправлен на всех языках - добавлено название папки Examples

   MA_handle=iCustom(NULL,0,"Examples\\Custom Moving Average",
                     MA_Period,
                     MA_Shift,
                     MA_Method,
                     PRICE_CLOSE // считаем по ценам закрытия
                     );
Причина обращения: