Сложные БИХ фильтры

 

Здравствуйте, уважаемые участники форума! В первую очередь этот пост обращен к людям заинтересованным в развитии их систем анализа, а если конкретней то о технических индикаторах. Я более менее знаю Signal Processing Toolbox на базе платформы MATLAB и имею представление о спектральном анализе и дискретной фильтрации временных рядов. Меня интересуют сложные БИХ фильтры, таких как Эллиптический, Чебышева. Я синтезировал коэффициенты фильтра Чебышева через MATLAB, то есть знаменатель и числитель фильтра, (коэффициенты приложены внизу). Теперь главное: как реализовать в индикаторе с помощью языка MQL4 фильтр Чебышева с заданными коэффициентами? Помогите пожалуйста. Выслушаю конструктивную критику, замечания. В фильтре, коэффициенты которого представлены, 8 секций и данный фильтр имеет порядок 16. На скрине для сравнения простая MA - красным, КИХ фильтр Чебышева - зеленым, исходный временной ряд - синим, это M60 NZDUSD.

Скриншот 

Файлы:
 
Я же ответил уже Вам - фигня!
 
nikitasa1997:

Здравствуйте, уважаемые участники форума! В первую очередь этот пост обращен к людям заинтересованным в развитии их систем анализа, а если конкретней то о технических индикаторах. Я более менее знаю Signal Processing Toolbox на базе платформы MATLAB и имею представление о спектральном анализе и дискретной фильтрации временных рядов. Меня интересуют сложные БИХ фильтры, таких как Эллиптический, Чебышева. Я синтезировал коэффициенты фильтра Чебышева через MATLAB, то есть знаменатель и числитель фильтра, (коэффициенты приложены внизу). Теперь главное: как реализовать в индикаторе с помощью языка MQL4 фильтр Чебышева с заданными коэффициентами? Помогите пожалуйста. Выслушаю конструктивную критику, замечания. В фильтре, коэффициенты которого представлены, 8 секций и данный фильтр имеет порядок 16. На скрине для сравнения простая MA - красным, КИХ фильтр Чебышева - зеленым, исходный временной ряд - синим, это M60 NZDUSD.

 

У меня несколько вопросов.

1. Почему именно БИХ? КИХ же проще в реализации + более линеен. Минус в меньшей производительности в наших задачах и на современных процах неважен. Алгоритм на 50 строк, я выкладывал тут

2. Вы входные тиковые данные квантуете?

3. По оси Х - это секунды?

 
transcendreamer:
попробовав разные такие фильтры я пришел к выводу что их преимущество перед стандартным мувингом почти никакое

Блин,  что за ущербный подход "попробовал и сделал вывод"? Сранительная харектристика хоть одна? Говно же даже на вкус должно отличаться...

 

Выйду из запоя, обязательно доделаю.

 

Автор, вы приведенным скрином что хотели показать то? Вижу, что красная и зеленая линии отличаются. Но какая из них лучше и насколько - не въехал.

 
lob32371:

Блин,  что за ущербный подход "попробовал и сделал вывод"? Сранительная харектристика хоть одна? Говно же даже на вкус должно отличаться...

 

Выйду из запоя, обязательно доделаю.

 

Автор, вы приведенным скрином что хотели показать то? Вижу, что красная и зеленая линии отличаются. Но какая из них лучше и насколько - не въехал.

Сигнал поступает не по пересечению, в моей тактике сигнал поступает тогда когда изменяет скорость изменения индикатора. Проще: прежде чем развернуться, сначала у индикатора изменяется скорость, а она изменяется у именно этого индикатора прогнозируемо, и только затем он разворачивается. Изменения скорости можно уловить с помощью индикатора "моментум" с периодом 1, подавая на его вход значения фильтра. На скрине амплитудно-частотная характеристика Эллиптического(синим), SMA(зеленым). Аргументы в пользу Эллиптического: При одной и той же задержке - это видно на предыдущем скрине, эллиптический не искажает сигнал в частотах пропускания, уменьшает амплитуду колебаний в полосе задержки в 100 раз(-40 dB), более приближен к идеальной АЧХ.  Скользящая средняя хуже фильтрует шум, в полосе задержки амлитуда высокочастотных колебаний уменьшается всего в 5 раз.
 
VDev:

У меня несколько вопросов.

1. Почему именно БИХ? КИХ же проще в реализации + более линеен. Минус в меньшей производительности в наших задачах и на современных процах неважен. Алгоритм на 50 строк, я выкладывал тут

2. Вы входные тиковые данные квантуете?

3. По оси Х - это секунды?

1 У КИХа реализованного методом Паркс Макклеллан чуть меньше задержка, при той частотах пропускания подавления, и амплитудных характеристиках.

2 На терминал поступают котировки в виде цифрового сигнала. В частности по поводу квантования, например на терминал не может поступить по EURUSD цена 1.52347121805, может поступить только 1.52347. Они уже в достаточной мере отквантованы. Частота дискретизации - постоянная 1/3600 Герц.

3 Синем - это 60 минутный график NZDUSD. Поставьте в терминале отображение не по свечам а  линией по закрытиям - это примерно так.

 
nikitasa1997:
Сигнал поступает не по пересечению, в моей тактике сигнал поступает тогда когда изменяет скорость изменения индикатора. Проще: прежде чем развернуться, сначала у индикатора изменяется скорость, а она изменяется у именно этого индикатора прогнозируемо, и только затем он разворачивается. Изменения скорости можно уловить с помощью индикатора "моментум" с периодом 1, подавая на его вход значения фильтра. На скрине амплитудно-частотная характеристика Эллиптического(синим), SMA(зеленым). Аргументы в пользу Эллиптического: При одной и той же задержке - это видно на предыдущем скрине, эллиптический не искажает сигнал в частотах пропускания, уменьшает амплитуду колебаний в полосе задержки в 100 раз(-40 dB), более приближен к идеальной АЧХ.  Скользящая средняя хуже фильтрует шум, в полосе задержки амлитуда высокочастотных колебаний уменьшается всего в 5 раз.
Мне не нравится видеть одну и ту же картинку в разных темах. Называется СПАМ. Карается БАНом.
 
Vinin:
Мне не нравится видеть одну и ту же картинку в разных темах. Называется СПАМ. Карается БАНом.
Хорошо, просто вопросы очень схожие были
 
а:
Сигнал поступает не по пересечению, в моей тактике сигнал поступает тогда когда изменяет скорость изменения индикатора.

Спасбо за уточнение, добавим вашу "МАшку" в сравнительную таблицу как только будет готово:

Теперь главное: как реализовать в индикаторе с помощью языка MQL4 фильтр Чебышева с заданными коэффициентами?

 А для чего собственно вам реализовывать на MQL4 то, что уже отлично пашет в мат. пакете? Вам же не торговать сегодня, а значит вы можете тестить своих роботов прямо в матлабе - тот же перевертышь пишется на раз там. Погуглите просто примеры матлабовских тестеров ТС - там от принципов до уже готовых универсальных решений.

 

Ну а если считаете, что полез не туда, тогда узнаете алгоритмы вашего фильтра и кодите. Только нахрена проделывать эту лошадинную работу, когда все есть и даже более - не ясно.

 

ЗЫ Надо изучить этот ваш матлаб и проводить то же сравнительное исследование МАшек прямо в нем. Думаю, это на порядки проще, чем в MQL. Ну а когда там по итогу найдем самую классную МА-шку и докажем это - найдется много извращенцев, которые обязательно переведут лидера на MQL-вариант.

 

А то пишут всякую херню в кодобазу, а даже сравнить хоть с чем-нибудь не удосуживаются. Будем заполнять породой эти пещеры в головных мозгах... 

 
lob32371:

Спасбо за уточнение, добавим вашу "МАшку" в сравнительную таблицу как только будет готово:

 А для чего собственно вам реализовывать на MQL4 то, что уже отлично пашет в мат. пакете? Вам же не торговать сегодня, а значит вы можете тестить своих роботов прямо в матлабе - тот же перевертышь пишется на раз там. Погуглите просто примеры матлабовских тестеров ТС - там от принципов до уже готовых универсальных решений.

 

Ну а если считаете, что полез не туда, тогда узнаете алгоритмы вашего фильтра и кодите. Только нахрена проделывать эту лошадинную работу, когда все есть и даже более - не ясно.

 

ЗЫ Надо изучить этот ваш матлаб и проводить то же сравнительное исследование МАшек прямо в нем. Думаю, это на порядки проще, чем в MQL. Ну а когда там по итогу найдем самую классную МА-шку и докажем это - найдется много извращенцев, которые обязательно переведут лидера на MQL-вариант.

 

А то пишут всякую херню в кодобазу, а даже сравнить хоть с чем-нибудь не удосуживаются. Будем заполнять породой эти пещеры в головных мозгах... 

На самом деле я уже провел эту работу (по сравнению MA). Если вам интересно можете обратиться в лс. Если в общих чертах: для спектрального оценивания используются весовые окна, так же эти весовые окна используются в фильтрации. Формулы этих весовых окон проще чем полноценного фильтра. но они на орядок выше типичной MA
 
nikitasa1997:
На самом деле я уже провел эту работу (по сравнению MA). Если вам интересно можете обратиться в лс. Если в общих чертах: для спектрального оценивания используются весовые окна, так же эти весовые окна используются в фильтрации. Формулы этих весовых окон проще чем полноценного фильтра. но они на орядок выше типичной MA
Конечно, мне интересно, что у вас за критерий! Вы только представьте, что на этом форуме ни разу даже не предлагался сравнительный критерий "МАшек". На других ресурсах - тоже не видел. Поэтому с огромным удовольствием выслушаю ваш вариант. Тем более, для этого есть специально созданная ветка.