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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Sergey Lisnyak
3261
Sergey Lisnyak  

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

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

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

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

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

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

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

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

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

СПАСИБО!

Fast235
2112
Fast235  
Sergey Lisnyak:

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

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

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

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

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

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

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

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

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

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

Georgiy Merts
9230
Georgiy Merts  

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

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

Ivan Negreshniy
4770
Ivan Negreshniy  
Georgiy Merts:

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

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

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

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

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

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

"MA.ex4" 

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

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

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

Sergey Lisnyak
3261
Sergey Lisnyak  
Georgiy Merts:

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

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

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

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