Только изучаю ООП и ещё не во всё въезжаю. Помогите. Вопрос стоит в самом коде(части кода).
прилеплена часть кода файла MQH:
А где класс TEMA_WPR_Sign ?
Зачем вам хендл индикатора? Пользуйтесь указателем объекта i_TEMA_WPR, он может все тоже самое.
bool TEMA_WPR_Sign::CreateTEMAWPR(CIndicators *indicators) { //--- проверка указателя if(indicators==NULL) return(false); //--- добавление объекта в коллекцию if(!indicators.Add(GetPointer(i_TEMA_WPR))) { printf(__FUNCTION__+": ошибка добавления объекта TEMA_WPR");
![Документация по MQL5: Основы языка / Типы данных / Указатели объектов Документация по MQL5: Основы языка / Типы данных / Указатели объектов](/i/community/logo_mql5_small.png)
- www.mql5.com
Зачем вам хендл индикатора? Пользуйтесь указателем объекта i_TEMA_WPR, он может все тоже самое.
Я так сделал с самого начала, но при компиляции он мне выдал ошибку: "'Create' - no one of the overloads can be applied to the function call"
//--- инициализация объекта if(!i_TEMA_WPR.Create(m_symbol.Name(),m_period,period_TEMA,0,GetPointer(i_WPR))) { printf(__FUNCTION__+": ошибка инициализации объекта TEMA_WPR"); return(false); }
Не получается передать индикатору TEMA данные индикатора WPR.
Я так сделал с самого начала, но при компиляции он мне выдал ошибку: "'Create' - no one of the overloads can be applied to the function call"
Не получается передать индикатору TEMA данные индикатора WPR.
Потому что вы пытаетесь передать указатель объекта класса, а нужно передать хэндл индикатора, который привязан к этому объекту. Попробуйте использовать метод Handle - https://www.mql5.com/ru/docs/standardlibrary/technicalindicators/cindicators/cindicator/cindicatorhandle:
Handle
Получает хэндл индикатора.
int Handle() const |
Возвращаемое значение
Хэндл индикатора.
То есть
//--- инициализация объекта if(!i_TEMA_WPR.Create(m_symbol.Name(),m_period,period_TEMA,0,GetPointer(i_WPR).Handle())) { printf(__FUNCTION__+": ошибка инициализации объекта TEMA_WPR"); return(false); }
![Документация по MQL5: Стандартная библиотека / Классы для работы с индикаторами / Базовые классы / CIndicator / Handle Документация по MQL5: Стандартная библиотека / Классы для работы с индикаторами / Базовые классы / CIndicator / Handle](/i/community/logo_mql5_small.png)
- www.mql5.com
пасиба. разобрался
Вообще, нужно немного короче
if(!i_TEMA_WPR.Create(m_symbol.Name(),m_period,period_TEMA,0,i_WPR.Handle()))
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Только изучаю ООП и ещё не во всё въезжаю. Помогите. Вопрос стоит в самом коде(части кода).
прилеплена часть кода файла MQH: