Из спортивного интереса занялся адаптивной фильтрацией котировок - страница 10

 
nikitasa1997:

Я синтезировал коэффициенты фильтра Чебышева через MATLAB, то есть знаменатель и числитель фильтра, (коэффициенты приложены внизу). Теперь главное: как реализовать в индикаторе с помощью языка MQL4 фильтр Чебышева с заданными коэффициентами? Помогите пожалуйста. 

Смотри, ты получил числитель и знаменатель, то есть можешь написать передаточную характеристику в форме

H(z) = P(z^-1)/Q(z^-1),

где P и Q - твои числитель и знаменатель в виде полиномов от z^-1 (z в минус первой степени). Передаточная характеристика есть выход делить на вход, то есть в z-форме

Y(z)/X(z) = P(z^-1)/Q(z^-1),

откуда

Y(z)*Q(z^-1) = X(z)*P(z^-1).

Теперь вспоминай, что z^-1 есть ничто иное как оператор задержки, то есть умножение на z^(-n) в z-домене соответствует задержке на n отсчетов во временной области, например Y(z)*z^(-3) соответствует y(t-3). Таким образом,

a0*y(t) + a1*y(t-1) + a2*y(t-2) + ... = b0*x(t) + b1*x(t-1) + b2*x(t-2) + ... ,

где ai, bi - коэффициенты бывших знаменателя и числителя соответственно. Собственно, осталось выразить y(t), вот тебе и формула расчета для твоего индикатора.

Кстати, странновато "иметь представление о цифровой фильтрации" и не уметь делать такое ...

tara:

 И вообще - что такое адаптивность? 

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

PS чёй-то тема всплыла, неожиданно...

 
transcendreamer:

 тоже пришел к такому выводу... у некоторых индикаторов есть приписка "с нулевым запаздыванием" - это враньё

Строго говоря, нет (хотя и не могу не согласиться, что в подавляющем большинстве случаев таки да - враньё)).

Когда говорят о запаздывании, чаще всего имеется в виду линейная модель. Для линейных моделей ненулевая задержка есть следствие принципа причинности; другими словами, невозможно реализовать линейную систему, удовлетворяющую одновременно и принципу причинности, и требованию нулевой задержки.

Для нелинейных (например адаптивных) моделей такого ограничения нет. Там задержка может быть и нулевая (идеальные следящие свойства), и отрицательная (прогнозирующие свойства). Необходимое условие для этого - адекватность модели реальной системе.

 
Zhunko:

Производная от синуса косинус. Бежит впереди на 90 градусов. Производная, по сути, фильтр высокой частоты. И ничего не перерисовывается.

Думаю, что с такими познаниями, даже такая подсказка не поможет воспользоваться этим. 

Тоесть вы сравниваете рынок с синусом???? Ну чтож... Удачи.....
 

А нокса это аддон для нерки. Трудно настраиваемы. Но уж точно не перерисовывет и сигналы дает хоть куда. Правда если получится его настроить :-)

Блин так снова захотелось его покрутить, но нерку устанавливать не охото :-( 

 
nikelodeon:
Тоесть вы сравниваете рынок с синусом???? Ну чтож... Удачи.....
Диагноз - полное отсутствие абстрактного мышления :-( 
 
nikelodeon:

А нокса это аддон для нерки. Трудно настраиваемы. Но уж точно не перерисовывет и сигналы дает хоть куда. Правда если получится его настроить :-)

Блин так снова захотелось его покрутить, но нерку устанавливать не охото :-( 

спасибо, теперь понятно что за нокса

вот бы под МТ ее портировать но наверное все алгоритмы закрыты

 
alsu:

Строго говоря, нет (хотя и не могу не согласиться, что в подавляющем большинстве случаев таки да - враньё)).

Когда говорят о запаздывании, чаще всего имеется в виду линейная модель. Для линейных моделей ненулевая задержка есть следствие принципа причинности; другими словами, невозможно реализовать линейную систему, удовлетворяющую одновременно и принципу причинности, и требованию нулевой задержки.

Для нелинейных (например адаптивных) моделей такого ограничения нет. Там задержка может быть и нулевая (идеальные следящие свойства), и отрицательная (прогнозирующие свойства). Необходимое условие для этого - адекватность модели реальной системе.

Да, именно так. 

Ваяем индикатор, буферы: 1. Цена открытия (по факту); 2. Цена закрытия (по факту); 3. Стоп-лосс (при наличии цены открытия); 4. Значение целевой функции по результатам моделирования внутри индикатора. 

Используем  индикатор как для открытия/закрытия позиций, так и для динамической оптимизации параметров (адаптации) торговой тактики. 

 
Alsu, надо жениться. Извини. 
 
Zhunko:
Диагноз - полное отсутствие абстрактного мышления :-( 
При чём здесь абстракность моего мышления???? Любая фильтрация котировок есть запаздывание от самой котировки, ну уж никак не прогноз. Для систем идущих за трендом это нормально. Но у них есть свои минусы. Расказать?
 
nikelodeon:
При чём здесь абстракность моего мышления???? Любая фильтрация котировок есть запаздывание от самой котировки, ну уж никак не прогноз. Для систем идущих за трендом это нормально. Но у них есть свои минусы. Расказать?

"запаздывание" от цены(числового ряда, сигнала или как угодно)-имеет место,спору нет, но если каскадировать группу фильтров (перекрытие), предварительно выравнивая фазу (не спрашивайте только что там за фаза и как её выравнивать...), можно сделать идеально совпадающие с рядом фильтры, естественно они будут перерисовываться, но для того перекрытие и делается, как и выравнивание фазы, чтобы перерисовывались они группой так сказать "в такт" (резонанс и прочие умные термины)))), а не каждый по своему неконтролируемо, то есть наложение неких условий на перерисовку.

Если тупо настраивать один фильтр и ждать что он не будет запаздывать-естественно, это шиза.

Только одни это видят через стробоскоп, а другие через систему фильтров.

Все никак не соберусь, чтобы подробно описать это на форуме.

Уже понял что за метод, крутил и я его, и можно не одним способом делать, хотя с фильтрами считать меньше, чем огородами идти через другие методы.

И расчет индексов считается интересно)))