Стандартная ошибка в неправильном применении сглаживания в RSI. Загляните в ветку 'Один эксперт у одного брокера на разных терминалах и счетах, результат разный.' - там это рассматривается.
Кстати, исходный код RSI есть в терминале в виде mq4 файла.
Почему у меня значения Ma_RSI_1 и Ma_RSI_2 выведенные Comment'ом на график не соответствует значениям сглаженного RSI на графике при одинаковых параметрах периода RSI.
периода сглаживания и метода сглаживания? В момент, который я наблюдаю сглаженный RSI на графике падает, а расчётное значение растёт(Ma_RSI_1>Ma_RSI_2)
В коде есть ошибки
Нужно два цикла чтоб еще раз сгладить
for(int i=0; i<limit; i++) { RSI_buffer[i] = iRSI(NULL , 0, period_RSI, 0, i); } for(i=0; i<limit; i++) { double Ma_RSI_1 = iMAOnArray(RSI_buffer, 0, PersglRSI, 0, MODE_SMA, i+1); }если это индикатор ...
В Вашем примере сглаживание производится во втором цикле. В первом - создание массива. Нужно ли создавать весь сглаженный массив, если я использую только значения для 1 и 2 баров?
Стандартная ошибка в неправильном применении сглаживания в RSI. Загляните в ветку 'Один эксперт у одного брокера на разных терминалах и счетах, результат разный.' - там это рассматривается.
Кстати, исходный код RSI есть в терминале в виде mq4 файла.
Спасибо. Ветку прочёл, но где ошибаюсь не понял - не хватает квалификации(я не профессиональный программист). Правильно ли я Вас понял, что стандартная функция
iMAOnArray(...)
для индикатора RSI неприменима?
Значения Вам нужны для 1 и 2 бара
чтобы их получить нужно сгладить заданное Вами количество
PersglRSI
( Период усреднения для вычисления скользящего среднего.)
Значения Вам нужны для 1 и 2 бара
чтобы их получить нужно сгладить заданное Вами количество
( Период усреднения для вычисления скользящего среднего.)
Но что мы получим в результате Вашего второго цикла - сглаженное значение RSI для бара с номером = limit. Массива то для хранения значений сглаженного RSI нет? Если создать массив, то такой вариант я рассматривал ранее и тоже результат был отрицательный.
double RSI_buffer[30]; double Ma_RSI[30]; int i=0; int j=0; while (i<31) { RSI_buffer[i] = iRSI(NULL , 0, period_RSI, 0, i); i++; } ArraySetAsSeries(RSI_buffer,true); while(j<31) { Ma_RSI[j] = iMAOnArray(RSI_buffer, 0, PersglRSI, 0, MODE_SMA, j); j++; }Вот такой вариант я тоже рассматривал, выводил в Commet) значения Ma_RSI[1] и Ma_RSI[2] и тоже расхождение с графиком сглаженной RSI.
ошибки в алгоритмах, Buf2 показывает неусредненное, и переключение цвета.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Почему у меня значения Ma_RSI_1 и Ma_RSI_2 выведенные Comment'ом на график не соответствует значениям сглаженного RSI на графике при одинаковых параметрах периода RSI.
периода сглаживания и метода сглаживания? В момент, который я наблюдаю сглаженный RSI на графике падает, а расчётное значение растёт(Ma_RSI_1>Ma_RSI_2)