На просторах форума нашел сглаживающий фильтр Ходрика-Прескотта. Вот его код.
Этот код рассчитывает значения для периода с 0-го бара и до переменной nobs. Как его переделать, для получения значения n баров назад, без учета последних n баров? Т.е. для диапазона n-nobs.
На просторах форума нашел сглаживающий фильтр Ходрика-Прескотта. Вот его код.
Этот код рассчитывает значения для периода с 0-го бара и до переменной nobs. Как его переделать, для получения значения n баров назад, без учета последних n баров? Т.е. для диапазона n-nobs.
Попробуйте массивы сделать побольше, чем
ArrayResize(a,nobs); ArrayResize(b,nobs); ArrayResize(c,nobs);
и в циклах for поиграться с индексами. Вот тут есть канал HP для МТ4 и там же ссылка на вариант для МТ5.
Но если надо сглаживать на истории без задержки, как у МА, это плохая идея. HP предназначен именно для работы на текущих котировках. Для сглаживания на истории надо использовать 2-х проходный FIR фильтр. Сначала фильтруете данные n...n+m, а получившуюся последовательность прогоняете через тот же фильтр, но задом наперед. Получится идеальное сглаживание на истории.
Попробуйте массивы сделать побольше, чем
и в циклах for поиграться с индексами. Вот тут есть канал HP для МТ4 и там же ссылка на вариант для МТ5.
Но если надо сглаживать на истории без задержки, как у МА, это плохая идея. HP предназначен именно для работы на текущих котировках. Для сглаживания на истории надо использовать 2-х проходный FIR фильтр. Сначала фильтруете данные n...n+m, а получившуюся последовательность прогоняете через тот же фильтр, но задом наперед. Получится идеальное сглаживание на истории.
Пробовал вариации и с массивами и с циклами - безуспешно.
Задача сглаживания истории не стоит. Цель - отследить перерисовку.
Пробовал вариации и с массивами и с циклами - безуспешно.
Задача сглаживания истории не стоит. Цель - отследить перерисовку.
Если поставить канал, на который я дал ссылку, на график и подержать его денек, увидите, какой рваный хвост он оставляет за собой. Может это надо? Можно еще в тестере попробовать прогнать в визуальном режиме. Все фильтры без задержек перерисовываются, природу не обманешь.
Если поставить канал, на который я дал ссылку, на график и подержать его денек, увидите, какой рваный хвост он оставляет за собой. Может это надо? Можно еще в тестере попробовать прогнать в визуальном режиме. Все фильтры без задержек перерисовываются, природу не обманешь.
Это конечно так. И в тестере все работает как надо. Но, хочется иметь значения сразу после установки индикатора на график для любого интересующего периода, а не спустя какое-то время.
Обманывать никого не собираюсь, просто хочу рассчитать интересующие меня значения.
Попробовал в качестве входного массива значений x[] подать предварительно "обрезанный" до нужного элемента массив x1[] и тоже ничего не получается ((.
Линия просто пропадает с графика.
В чем прикол?
На просторах форума нашел сглаживающий фильтр Ходрика-Прескотта. Вот его код.
Никогда о таковом не слышал.) Благодаря Вам и Гуглу познакомился поближе. Имхо, не лучше и не хуже других методов сглаживания и выявления тенденций. Каких либо преимуществ не имеет. Полиномиальная регрессия предпочтительней.
Привет!
в век электронных торгов - "сглаживание" - это с дубинками идти в бой против танков.
Рынок нынче фрагментирован, поэтому лучше наоборот искать методы -"де-сглаживания".
Привет!
в век электронных торгов - "сглаживание" - это с дубинками идти в бой против танков.
Рынок нынче фрагментирован, поэтому лучше наоборот искать методы -"де-сглаживания".
Давай, привели пример вычисления скорости изменения цены "методом де-сглаживания". А потом и ускорения. Языком важно звиздеть - не мешки ворочать ))
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
На просторах форума нашел сглаживающий фильтр Ходрика-Прескотта. Вот его код.
Этот код рассчитывает значения для периода с 0-го бара и до переменной nobs. Как его переделать, для получения значения n баров назад, без учета последних n баров? Т.е. для диапазона n-nobs.