Индикатор должен показывать стрелку вверх при пересечении вниз, и стрелку вниз при пересечении вверх.
Слишком намудрено в коде с сигналом, сделал чуть проще))
Слишком намудрено в коде с сигналом, сделал чуть проще))
Может быть, но ошибка все равно осталась)
Может быть, но ошибка все равно осталась)
Там сам индикатор гистограммы в процессе перерисовывается,
а сигнал берётся с текущего бара
и если анализировать предыдущий бар,
то не будет ложных сигналов и не правильных выводов
Первое, о чём думаю, это:
for(int i = limit; i >= 0; i--)
в вызываемом индикаторе "RIF". В Вашей части Вы обрабатываете предыдущий закрытый бар, а вызываемый Вами индикатор текущий. А поскольку в тестере есть различные модели (по ценам открытия, все тики и т.д.), то на этих моделях и в реале такой индикатор может вести себя по-разному. Тут либо всегда обрабатывать только закрытый бар, что проще, либо внимательно смотреть за логикой, тогда можно обрабатывать и текущий.
Там сам индикатор гистограммы в процессе перерисовывается,
а сигнал берётся с текущего бара
и если анализировать предыдущий бар,
то не будет ложных сигналов и не правильных выводов
К сожалению это не так, в моем варианте кода вычисления производятся только 1 раз за свечу по предыдущей закрытой свече (когда rates_total > prev_calculated), но индикатор RIF почему-то возвращает другие значения, отличающиеся от тех, которые отображаются индикатором.
Первое, о чём думаю, это:
в вызываемом индикаторе "RIF". В Вашей части Вы обрабатываете предыдущий закрытый бар, а вызываемый Вами индикатор текущий. А поскольку в тестере есть различные модели (по ценам открытия, все тики и т.д.), то на этих моделях и в реале такой индикатор может вести себя по-разному. Тут либо всегда обрабатывать только закрытый бар, что проще, либо внимательно смотреть за логикой, тогда можно обрабатывать и текущий.
В данном случае все вычисления происходят только по закрытому бару...
Татьяна, Ваши вычисления да, но в индикаторе "RIF" производится обсчёт текущего бара. А бар ещё не сформирован. Нет?
Вы имеете в виду, что текущий бар может повлиять на предыдущий, и вычисления стоит производить по свече №2 (0 - текущая)?
Попробуйте поставить единичку вместо нуля в цикле индикатора "RIF".
Сейчас
Попробуйте поставить единичку вместо нуля в цикле индикатора "RIF".
Спасибо большое, все получилось)

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день. При написании стрелочного индикатора на основе осцилятора RIF столкнулась с ошибкой:
Индикатор должен показывать стрелку вверх при пересечении вниз,
и стрелку вниз при пересечении вверх. Вот так:
Но во время прогона на тестере стратегий, отображает стрелки не согласно алгоритму:
Вот код написанного мною индикатора, в чем может быть ошибка?
Также прикрепляю исходные коды индикаторов: