Идея построения незапаздывающего фильтра занимала меня последние пару лет. Я также получал регулярно результаты, казавшиеся лучше других, и даже незапаздывающими. Все они разбивались об анализ ступеньки. Прошу автора реализовать входной модельный сигнал в виде функции Хевисайда: ступеньку, до момента T уровень =0, после единица. И показать линию фильтра на этом. Уверен на 99,99%, что мы увидим кривую, выходящую на уровень 1 в течение некоего интервала времени, то есть запаздывание. Идеальный, истинный, незапаздывающий фильтр должен уметь обрабатывать "ступеньки" так, чтобы выход был равен входу. Если это не так, рассуждения о "незапаздывании" - лукавство. Хотя я поддерживаю автора: создание незапаздывающего неперерисовывающегося фильтра - возможно.
P.S. Сравнения с другими фильтрами следует привести на "ступеньке", разместив все фильтры на одном графике.
P.P.S. Если это уже сделано в каком-то видео - прошу извинить, в данный момент (с рабочего компьютера) я не вижу видео (видимо, размещённых на youtube ?)
Тест со ступенькой для моментума с фильтром добавлю.
Какова реакция фильтра на ступеньки в потоке котировок хорошо видно на четвертом видео.
Тест со ступенькой для моментума с фильтром добавлю.
Какова реакция фильтра на ступеньки в потоке котировок хорошо видно на четвертом видео.
не в потоке котировок. а на чистую ступеньку именно. это совсем разное. допустим, период в некотором эффективном (не буквальном) смысле усреднения - 101 бар, следовательно запаздывание - 50 баров. И на чистой ступеньке я это хорошо увижу. А на котировках, где два горизонтальных участка (0 и 1 условно) вместе взятые всего баров 20, а вокруг - котировки - вот там я ничего такого не увижу.
Исследования фильтров следует проводить подавая на вход ТОЛЬКО модельные сигналы, и уже после этого, после уяснения природы их, наслаждаться картинками работы на котировках.
не в потоке котировок. а на чистую ступеньку именно. это совсем разное. допустим, период в некотором эффективном (не буквальном) смысле усреднения - 101 бар, следовательно запаздывание - 50 баров. И на чистой ступеньке я это хорошо увижу. А на котировках, где два горизонтальных участка (0 и 1 условно) вместе взятые всего баров 20, а вокруг - котировки - вот там я ничего такого не увижу.
Исследования фильтров следует проводить подавая на вход ТОЛЬКО модельные сигналы, и уже после этого, после уяснения природы их, наслаждаться картинками работы на котировках.
Я понял, такой тест добавлю.
Спасибо. Я догадываюсь что мы увидим. Возможно Ваш фильтр покажет запаздывание меньше при лучшем сглаживании, чем конкуренты. Но это 100% не будет незапаздывающий неперерисовывающийся фильтр...
Давайте дождемся публикации индикатора GMomentum_test, чтобы делать выводы не на догадках. Его должны были опубликовать вместе с выходом статьи, но видать не успели подготовить. Теперь его, похоже, опубликуют в понедельник.
Что касается тестов вообще, то тесты для линейных фильтров не подходят для кластерных. Точнее, их можно делать, но они не показательны, т.к. кластерные фильтры нелинейны. Примером этому может служить ситуация с единичным импульсом из статьи. Скорее всего, тест с единичной ступенчатой функцией получится не менее эффектным. Но это будет, также как и с единичным импульсом, просто забавным частным случаем сглаживания. Не более.
![Технические индикаторы как цифровые фильтры Технические индикаторы как цифровые фильтры](https://c.mql5.com/36/3/tehnicheskie-indikatori-kak-cifrovie.png)
- 2013.10.07
- Timur Gatin
- www.mql5.com
Давайте дождемся публикации индикатора GMomentum_test, чтобы делать выводы не на догадках. Его должны были опубликовать вместе с выходом статьи, но видать не успели подготовить. Теперь его, похоже, опубликуют в понедельник.
Что касается тестов вообще, то тесты для линейных фильтров не подходят для кластерных. Точнее, их можно делать, но они не показательны, т.к. кластерные фильтры нелинейны. Примером этому может служить ситуация с единичным импульсом из статьи. Скорее всего, тест с единичной ступенчатой функцией получится не менее эффектным. Но это будет, также как и с единичным импульсом, просто забавным частным случаем сглаживания. Не более.
Вот, что получилось:
Серая пунктирная линия - Heaviside, голубая толстая - моментум, красная - моментум с включенным фильтром
Вот, что получилось:
Серая пунктирная линия - Heaviside, голубая толстая - моментум, красная - моментум с включенным фильтром
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Создание цифровых фильтров, незапаздывающих по времени:
В статье рассматривается один из подходов к определению полезного сигнала (тенденции) потоковых данных. Небольшие практические тесты фильтрации (сглаживания) биржевых котировок демонстрируют потенциальную возможность создания цифровых фильтров (индикаторов), которые не запаздывают по времени и не перерисовываются на последних барах.
Кластерный фильтр
Кластерный фильтр (англ. cluster — гроздь, сгусток, пучок) - совокупность цифровых фильтров, аппроксимирующих исходную последовательность. Кластерный фильтр не стоит путать с кластерными индикаторами.
Кластерный фильтр удобно использовать для анализа нестационарных временных рядов в реальном времени, иными словами - потоковых данных. Это значит, что наибольший интерес такой фильтр представляет, например, не для сглаживания уже известных значений временного ряда, а для получения наиболее вероятного сглаженного значения нового данного, полученного в реальном времени.
В отличие от всевозможных методов декомпозиции (разложения на составляющие) или просто фильтров нужной частоты, кластерные фильтры создают композицию или веер вероятных значений исходного ряда, которые в дальнейшем подвергаются дополнительному анализу для аппроксимации исходной последовательности. Входная последовательность больше играет роль ориентира, чем то, что анализируют. Основному анализу подвергают значения, посчитанные набором фильтров после обработки поступившего данного.
Рисунок 1. Схема простого кластерного фильтра
В общем случае каждый фильтр, включенный в кластер, обладает своими индивидуальными характеристиками и никак не связан с другими. Иногда эти фильтры настроены для анализа некого своего стационарного временного ряда, который описывает отдельные свойства исходного нестационарного. В самом простом случае, если исходный нестационарный ряд меняет свои параметры, то происходит "переключение" между фильтрами. Таким образом, кластерный фильтр отслеживает изменение характеристик в реальном времени.
Автор: Konstantin Gruzdev