Как определить отсутствие индикатора когда вызываешь его через iCustom ?

 

Проблема в том что при вызове индикатора которого не существует через функцию iCustom функция вернет 0, но дело в том что для большинства индикатор 0 является рабочим значением, как в принципе и -1.
Получается так что нельзя проверить если индикатор или нет ? ведь если его нет, то в журнале это отображается в виде ошибки, значит как то же терминал это распознает. Но как это проверить нам ? 

iCustom(Symbol(),Period(),"MA.ex4",14,0,0,0)

Если кто сталкивался подскажите пожалуйста.

 
Sergey Lisnyak:

Проблема в том что при вызове индикатора которого не существует через функцию iCustom функция вернет 0, но дело в том что для большинства индикатор 0 является рабочим значением, как в принципе и -1.
Получается так что нельзя проверить если индикатор или нет ? ведь если его нет, то в журнале это отображается в виде ошибки, значит как то же терминал это распознает. Но как это проверить нам ? 

Если кто сталкивался подскажите пожалуйста.

А не нужно 0 использовать. Используйте EMPTY_VALUE, как Вам и было предложено. Вы ведь сами от этого отказались. 

 
Алексей Тарабанов:

А не нужно 0 использовать. Используйте EMPTY_VALUE, как Вам и было предложено. Вы ведь сами от этого отказались. 

СПАСИБО!

 
Sergey Lisnyak:

Проблема в том что при вызове индикатора которого не существует через функцию iCustom функция вернет 0, но дело в том что для большинства индикатор 0 является рабочим значением, как в принципе и -1.
Получается так что нельзя проверить если индикатор или нет ? ведь если его нет, то в журнале это отображается в виде ошибки, значит как то же терминал это распознает. Но как это проверить нам ? 

Если кто сталкивался подскажите пожалуйста.

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

 
Что возвраща ее т GetLastError , если индикатор не найден? Нужно было начать с этого.
 
Sergey Lisnyak:

Проблема в том что при вызове индикатора которого не существует через функцию iCustom функция вернет 0, но дело в том что для большинства индикатор 0 является рабочим значением, как в принципе и -1.
Получается так что нельзя проверить если индикатор или нет ? ведь если его нет, то в журнале это отображается в виде ошибки, значит как то же терминал это распознает. Но как это проверить нам ? 

Если кто сталкивался подскажите пожалуйста.

iCustom(Symbol(),Period(),"MA.ex4",14,0,0,0)

Название индюка надо писать без расширения.

iCustom(Symbol(),Period(),"MA",14,0,0,0)

Вот так правильно

 

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

А по вопросу темы - GetLastError() и коды 4071-4042 спасут Гиганта Мысли и Отца Русской демократии...

 
Georgiy Merts:

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

А по вопросу темы - GetLastError() и коды 4071-4042 спасут Гиганта Мысли и Отца Русской демократии...

не знаю спасут ли отца, но продавца в маркете не спасают, помню возвращали мне на доработку код в котором проверка наличия из списка индикаторов велась через эту ошибку т.к. она попадала в журнал, а это не допускалось...
 
Evgeniy Zhdan:

Название индюка надо писать без расширения.

Вот так правильно

Как это поможет ?

"MA.ex4" 

С прописыванием расширения, тоже не ошибка

 
Rashid Umarov:
Что возвраща ее т GetLastError , если индикатор не найден? Нужно было начать с этого.

Спасибо, это верная мысль, как то не пришло в голову.

 
Georgiy Merts:

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

А по вопросу темы - GetLastError() и коды 4071-4042 спасут Гиганта Мысли и Отца Русской демократии...

Спасибо уже понял)
Но только проблема в том что даже стандартные индикаторы тоже иногда отсутствуют и не поддерживают вызов через iName.

Причина обращения: