- www.mql5.com
Может быть и в Вашем случае получится использовать такую конструкцию
Всё так и происходит как вы описали. Если передаем значение TimeFrame =-2 - ведем расчёт данных для выбранного таймфрейма и подставляем эти данные для отображения на таймфрейме графика.
Проблема в том что сами данные содержат нули. Почему, пока неясно.
может в ините надо так?
if(calculateValue) { rsi_handle=iRSI(NULL,_Period,RsiPeriod,PRICE_CLOSE); if(rsi_handle==INVALID_HANDLE){Print("Error handle #3");return(-1);} return(0); }вам же типа ступенек надо получить старший на младшем?
может в ините надо так? вам же типа ступенек надо получить старший на младшем?
Спасибо Алексей, вы как всегда на высоте. Именно это и нужно было получить!
Для всех, кому будет интересно, выкладываю рабочую версию индикатора с рекурсией:
Код, который когда-то работал и прикреплен выше, перестал работать. А жаль. Если у кого есть время, посмотрите пожалуйста, что там не так.
Сейчас получаем ошибку 4806 при первом рекурсивном обращении вот здесь:
//--- количество баров на таймфрейме if(CopyBuffer(ret_handle,1,0,1,bars)!=1) { Print("Error ",GetLastError()); }Что делать? Есть у кого какие соображения?
Код, который когда-то работал и прикреплен выше, перестал работать. А жаль. Если у кого есть время, посмотрите пожалуйста, что там не так.
работает
В общем разобрался. Дело было в неправильной обработке ошибки в коде. Мой баг.
На эту тему опубликовал чистый код индикатора с рекурсией MTF RSI Smoothed
Надеюсь он поможет всем, кто до сегодняшнего дня мультитаймфреймовые индикаторы пишет через вызов обычных.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Уважаемые форумчане.
Подскажите, как можно сделать рекурсивный вызов индикатора для MQL5.
Суть задачи в том, что существует на первый взгляд простая формула расчета индикатора: SMA(RSI)
Для отображения значений индикатора на текущем таймфрейме, всё делается просто. А как этот должно работать если индикатор мульти таймфреймный?
В MQL4 (код прилагается) это реализовано через вызов самого себя для нужного таймфрейма с последующим пересчётом значений для текущего теймфрейма графика.
Попытался реализовать это же для MQL5, и что-то не получается.
Все, у кого есть время и желание вникнуть в код, посмотрите пожалуйста и дайте пожалуйста свой совет.
Заранее благодарен.