КИХ-фильтры - страница 5

 
begemot61 >>:

Немного о свойствах этих фильтров.

Обычный МА обладает подавлением около 20 дБ. Для того чтобы улучшить подавление, взвешивающие коэффициенты умножают на некоторую функцию, называемую функцией окна.

Окно Кайзера позволяет получить заданное значение подавления, изменяемое в широких пределах. При расчете задаются неравномерность в полосе пропускания и

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

Еще одним часто используемым методом расчета является применение алгоритма Паркса-Мак'Келана (иногда называемый алгоритмом Ремеза).

Он позволяет получить заданную неравномерность в полосе пропускания и заданное подавление в полосе задержки. Расчет требует достаточно большого количества итераций и не всегда обеспечивается сходимость.

Я использовал окно Кайзера. Проще считать, а результат сравним по качеству с алгоритмом Ремеза.


Немного о параметрах фильтра нижних частот.


PassBandBars-полоса пропускания в Барах


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


StopBandAttenuation- подавление в полосе затухания.


Измерять частоту в Барах не совсем корректно, так как это время а не частота. В действительности, частота измеряется в соответствующих ей временных интервалах.

F=1/Bars. Т.е. при 1 баре частота равна 1 и это частота дискретизации. При 2 барах частота равна 0.5Fd и т.д.

StopBandBars может быть любым действительным числом больше 2.


Длина фильтра (эквивалент периоду МА) не задается в явном виде и рассчитывается исходя из заданных полос и затухания.

Чем больше StopBandBars или чем больше StopBandAttenuation, тем длиннее фильтр. Те он больше запаздывает и лучше сглаживает.

Спасибо, однако, вижу придется все это изучать...

 
ssd >>:

Сходил по этой ссылке. Там предлагают купить 8(восемь) индикаторов, реализующих разного рода цифровые фильтрации.

Слушай, Саблюк, я вижу ты хорошо разбираешься во всех этих фильтрациях, поэтому,

если тебя не затруднит, будь другом, вышли мне индикаторы FATL, SATL, по возможности, со своими

комментариями к параметрам на нормальном языке.



я усыкаюсь ))))

то что там предлагают купить это все равно что купить машки и макди

не забивай голову фатлами и сатлами, сгенерируй свои

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

углубленная осмысленность может как помочь прогрессу так и наобарот отвратить

если у тебя нет времени разобраться с основными элементами, то будет казино

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

выбирай в какой из трех областей ты хочишь стать специалистом

 
sab1uk >>:

я усыкаюсь ))))

............................

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

Господа, а что вы собственно хотите от фильтров?

И как этот базар фильтровать?

 
begemot61 >>:

Господа, а что вы собственно хотите от фильтров?

И как этот базар фильтровать?

Что я собственно хочу от фильтров ?

Скажу своими словами, поскольку в теории не силен.

Для построения индикатора необходимо вычислять разницу Symbol(TimeFrame,i) - Symbol(TimeFrame,i+1), где i - это номер бара,

для 28 символов

string S [28]=
{
"EURUSD", // EURUSD 0 0
"GBPUSD", // GBPUSD 1 1
"AUDUSD", // AUDUSD 2 2
"NZDUSD", // NZDUSD 3 3
"USDCAD", // USDCAD 4 4
"USDCHF", // USDCHF 5 5
"USDJPY", // USDJPY 6 6

"EURGBP", // EURUSD/GBPUSD 7 0/1
"EURAUD", // EURUSD/AUDUSD 8 0/2
"EURNZD", // EURUSD/NZDUSD 9 0/3
"EURCAD", // EURUSD*USDCAD 10 0*4
"EURCHF", // EURUSD*USDCHF 11 0*5
"EURJPY", // EURUSD*USDJPY 12 0*6

"GBPAUD", // GBPUSD/AUDUSD 13 1/2
"GBPNZD", // GBPUSD/NZDUSD 14 1/3
"GBPCAD", // GBPUSD*USDCAD 15 1*4
"GBPCHF", // GBPUSD*USDCHF 16 1*5
"GBPJPY", // GBPUSD*USDJPY 17 1*6

"AUDNZD", // AUDUSD/NZDUSD 18 2/3
"AUDCAD", // AUDUSD*USDCAD 19 2*4
"AUDCHF", // AUDUSD*USDCHF 20 2*5
"AUDJPY", // AUDUSD*USDJPY 21 2*6

"NZDCAD", // NZDUSD*USDCAD 22 3*4
"NZDCHF", // NZDUSD*USDCHF 23 3*5
"NZDJPY", // NZDUSD*USDJPY 24 3*6


"CADCHF", // USDCHF/USDCAD 25 5/4
"CADJPY", // USDJPY/USDCAD 26 6/4

"CHFJPY" // USDJPY/USDCHF 27 6/5
};

Вопрос заключается в том какую величину принимать за значение символа Symbol(TimeFrame,i) на баре номер i ?

Первое, что приходит в голову, естественно, это МА(Symbol(TimeFrame,i), Period) ...

где Period - это период усреднения.

Хочется, однако, чтобы линия цены рисовалась не с помощью МА, а каким-то более "тонким" и "чувствительным" индикатором...

Вот так, по простому ставится задача...

Я понимаю так, что на каждый символ нужно генерировать свой фильтр-индикатор, используя при этом историю символа(всего 28) ?

Да еще, в добавок, на каждый таймфрейм свой фильтр-индикатор ?

Да еще, в добавок, периодически производить перегенерацию ?


Я правильно понял ?

 
begemot61 >>:

Господа, а что вы собственно хотите от фильтров?

И как этот базар фильтровать?

постановка правильной задачи уже половина успеха

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

фильтры однозначно лучше машек но не настолько чтобы ими торговать

 
ssd >>:

Что я собственно хочу от фильтров ?

.....................................................

.....................................................

Вопрос заключается в том какую величину принимать за значение символа Symbol(TimeFrame,i) на баре номер i ?

Первое, что приходит в голову, естественно, это МА(Symbol(TimeFrame,i), Period) ...

где Period - это период усреднения.

Хочется, однако, чтобы линия цены рисовалась не с помощью МА, а каким-то более "тонким" и "чувствительным" индикатором...

Вот так, по простому ставится задача...



А что значит более "тонким" и "чувствительным"?

Как вы это себе представляете?

 
begemot61 >>:

А что значит более "тонким" и "чувствительным"?

Как вы это себе представляете?

Buffer[i] = Close[i];

 
sab1uk >>: фильтры однозначно лучше машек но не настолько чтобы ими торговать

Хорошо сказано.

Есть, кстати, хороший фильтр, JMA, но даже им торговать нельзя. Хотя на сайте аффтара несколько отзывов, из которых типа вытекает, как с ним здорово торговать. Но аффтара называть мошенником совсем не хочется.

Что скажешь, какие у тебя гипотезы о его алгоритме работы?

 
sab1uk >>:

всем известные фатлы и сатлы есть фильтры НЧ с компромисными параметрами т е срез амплитудно-частотной характериски (АЧХ) не крутой

если делать АЧХ круче то придется чаще перестраивать фильтры

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

 
Reshetov >>:

Buffer[i] = Close[i];

По существу получается, я хочу, чтобы значение вот этой разницы:


Symbol(TimeFrame,i) - Symbol(TimeFrame,i+1), где i - это номер бара,


не зависело от каких-либо параметров, характеризующих метод получения значения символа,

а зависимость этой разницы от таймфрейма была бы линейной, т.е. углубляясь в сторону уменьшения таймфрейма,

мы должны получать динамику образования разницы....


Разумеется, это идеал, к которому хочется приблизиться...