Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Саблюк, будь другом, дай этот "адаптивный фильтр" для моих экспериментов.
Ну и что вы с этим фильтром делать будете? Вам не важно к чему он адаптируется, почему и как?
Ну и что вы с этим фильтром делать будете? Вам не важно к чему он адаптируется, почему и как?
------------------------------------------------------------------------------------------------------
Если говорить кратко, то в идеале, фильтр-индикатор, по моим представлениям, должен должен самостоятельно
анализировать спектр подаваемых на его вход исторических данных и динамически адаптировать/настраивать
характеристики фильтрации в зависимости от спектрального состава входного сигнала.
Иначе говоря, вот эти вот "весовые коэффициенты" в формуле линейного цифрового фильтра
Y[i] = B[0] X[i] + B[1] X[i-1] + .... - A[1] Y[i-1] - A[2] Y[i-2] - ....
Здесь X – входной временной ряд, Y – выходной ряд, A и B – наборы весовых коэффициентов.
должны адаптироваться/настраиваться на спектр входного сигнала.
begemot61 подскажи как можно по простому конвертировать твой фильтр с определенными параметрами в импульсную характеристику и записать ее в файл или в массив из глобальных переменных?
Эти коэффициенты хранятся в глобальном массиве double NormCoef[] а считаются функцией Normalization(). Normalization() использует функции FilterOrder(), Io(double x). Вам не нужны функции PriceSelect(), FilterResponse(int index_of_bar) Какие глобальные переменные оставить вы посмотрите сами. Я считаю Normalization() один раз, во время инициализации. Если у вас адаптивный фильтр, то Normalization() должна быть внутри start(). В этом случае я бы подумал как бы ускорить ее работу. Ну, например, уменьшил бы точность расчета функции Бесселя Io(double x) на один разряд. T.e double besselAccuracy=0.00001
Эти коэффициенты хранятся в глобальном массиве double NormCoef[] а считаются функцией Normalization(). Normalization() использует функции FilterOrder(), Io(double x). Вам не нужны функции PriceSelect(), FilterResponse(int index_of_bar) Какие глобальные переменные оставить вы посмотрите сами. Я считаю Normalization() один раз, во время инициализации. Если у вас адаптивный фильтр, то Normalization() должна быть внутри start(). В этом случае я бы подумал как бы ускорить ее работу. Ну, например, уменьшил бы точность расчета функции Бесселя Io(double x) на один разряд. T.e double besselAccuracy=0.00001
спасибо! мне нужно только сграбить КИХ и погонять в своей конструкции
другими словами инициализирующую часть фильтра поюзать в качестве генератора
Возник вопрос:
Должны ли соответствовать показания фильтров на разных таймфреймах, при соответствующем изменении параметров фильтра? (например параметры Н1 = параметры Н4 * 4 )
Возник вопрос:
Должны ли соответствовать показания фильтров на разных таймфреймах, при соответствующем изменении параметров фильтра? (например параметры Н1 = параметры Н4 * 4 )
Фильтр сам по себе ничего не показывает. Он обрабатывает те данные, которые ему подаются вход. Если данные разные, то и результат обработки разный. Хотя алгоритм обработки один и тот-же
Бегемотыч, имеет ли смысл варьировать параметр PassBandRipple ?
почему именно 30 установлено?
Бегемотыч, имеет ли смысл варьировать параметр PassBandRipple ?
почему именно 30 установлено?
Дело в том, что фильтр с Кайзеровской реализацией функции окна предусматривает выбор наихудшего из 2 условий-пульсации в полосе пропускания и подавления в полосе задерживания. Так как он не может обеспечить оба условия одновременно, то одно из требований получается лучше, чем реально заданное. Реально, подавлению 20дБ соответстбует пульсация +/-0.83дБ, подавлению 40дБ соответствует пульсация +/-0.086дБ. Для моих целей это достаточно маленькие значения. Поэтому я просто задал пульсацию в полосе пропускания заведомо больше, чем любая возможная величина и не обращаю на неё внимание. Хотя оценка присутствует в коде и её можно использовать при необходимости.
sab1uk, правильно ли я понимаю принципы построения полосового фильтра?
и еще такой вопрос: можно ли обойти ограничения на порядок фильра в ГЦМ (2500) ?
если требуется порядок фильтра 2500+ или период отсечки 300+ используй бегемотовский фильтр
но его фильтр мне не для всех случаев подходит..
пробовал делать 1000 Дб затухания или 0.000000000000001 Дб биения но не смог добиться такого же острого резонанса в АЧХ как фильтры из генератора