Необходимо добавить, что вызов индикатора VOLAT из советника происходит не через функцию iCustom(), а через создание объекта класса CiVolat.
CiVolat* Volat; // создать динамический объект "индикатор VOLAT"
Распечатайте параметры iMA. Может они действительно ошибочные?
Период усреднения VOLAT_MA_PERIOD не может быть <=0
Метод VOLAT_MA_METHOD должен быть в диапазоне от 0 до 3
VOLAT_MA_PRICE не может быть меньше 0
Slawa:Распечатайте параметры iMA. Может они действительно ошибочные?
да, спасибо, начал копать в этом направлении, разбираться с параметрами и ошибка нашлась в коде класса CiVolat//+------------------------------------------------------------------+ //| Класс CiVolat //| Назначение: класс индикатора "VOLAT" //| Выводится из класса CIndicator //+------------------------------------------------------------------+ class CiVolat : public CIndicator { protected: ... }Написание объектно-ориентированной обертки вокруг индикатора (разработка класса) - работа во многом чисто техническая, а значит скучная, вот ошибки и случаются...
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Но вот проблема, не получается обратиться к индикатору VOLAT из эксперта.
Как только советник выполняет инициализацию основного индикатора VOLAT, то в журнал выводится о проблеме при создании вспомогательного индикатора iMA() :
"Не удалось создать хэндл индикатора iMA() для пары ..., код ошибки 4002"
ERR_WRONG_INTERNAL_PARAMETER
4002
Ошибочный параметр при внутреннем вызове функции клиентского терминала
и работа индикатора и эксперта завершается досрочно.
Прошу уважаемое сообщество подсказать, чем вызвана эта ошибка...