Метод Adaptive Trend & Cycles Following

ShadowCandle

Гуру форума
Кто-нибудь пробовал использовать частотные фильтры? Тема старая но...
Индикаторы метода AT&CF (Adaptive Trend & Cycles Following).
FATL (Fast Adaptive Trend Line)– «быстрая» адаптивная линия тренда получается с использованием цифрового фильтра низкой частоты ФНЧ-1. Фильтр ФНЧ-1 служит для подавления высокочастотных шумов, а также рыночных циклов с очень короткими периодами колебаний, которые также можно считать шумом.
SATL (Slow Adaptive Trend Line)– «медленная» адаптивная линия тренда получается с помощью цифрового фильтра низкой частоты ФНЧ-2. ФНЧ-2 служит для подавления шумов и рыночных циклов с более длинными периодами колебаний.
Параметры этих фильтров (частота среза fc и затухание A в полосе задерживания) рассчитывались с использованием спектральных оценок валютного курса EUR/USD. Фильтры низкой частоты ФНЧ-1 и ФНЧ-2 обеспечивают затухание A в полосезадерживания не менее 40 дБ и абсолютно не искажают амплитуду и фазу входного дискретного ряда цен закрытия в полосе пропускания. Эти свойства цифровых фильтров обеспечивают значительно лучшее (по сравнению с простым скользящим усреднением) подавление шумов, что, в свою очередь, позволяет резко уменьшить вероятность появления «ложных» сигналов на покупку или продажу
Аналогов FATL и SATL среди широко известных технических инструментов не существует. Это не скользящие «средние», а именно адаптивные оценки линий краткосрочного и долгосрочного тренда. В отличие от скользящих «средних», FATL и SATL не имеют никакого фазового запаздывания относительно текущих цен. Значение FATL(k) является математическим ожиданием цены закрытия close(k), где k –номер торгового дня. Значение N-точечного скользящего «среднего» MA(k), строго говоря, является математическим ожиданием не close(k), а close(k-N/2), где k – номер торгового дня. Значение SATL(k) является математическим ожиданием FATL(k) для любого k на заданном временном интервале T.
RFTL (Reference Fast Trend Line)– опорная «быстрая» линия тренда и RSTL (Reference Slow Trend Line) – опорная «медленная» линия тренда являются откликами цифровых фильтров ФНЧ-1 и ФНЧ-2 на входной дискретный ряд, взятыми с задержками, равными соответствующим интервалам Найквиста TNi. Опорные линии RFTL и RSTL являются аналогами простых скользящих «средних» в смысле их запаздывания относительно текущих цен. Если вместо импульсных характеристик ФНЧ, имеющих сложную форму, использовать импульсную характеристику с весами 1/N, соответствующую процедуре N-точечного скользящего усреднения, то аналогия была бы полной. Индикаторы FTLM (Fast Trend Line Momentum) и STLM (Slow Trend Line Momentum) показывают темп изменения (падения или роста) FATL и SATL и вычисляются аналогично индикатору Momentum по формулам:
FTLM(k) = FATL(k) – RFTL(k),
STLM(k) = SATL(k) – RSTL(k).
Главное отличие FTLM и STLM от классического технического инструмента Momentum заключается в том, что для его вычисления используются не цены закрытия, а сглаженные в результате фильтрации значения линий тренда. В результате FTLM и STLM оказываются значительно более гладкими и регулярными функциями, нежели классический инструмент Momentum, и поэтому имеют большую прогностическую ценность. Линии FTLM и STLM вычислялись с соблюдением всех правил дискретной математики как первые разности между ближайшими двумя независимыми точками ограниченных по полосе процессов.
При вычислении классических индикаторов Momentum это требование часто не выполняется, что приводитк неустранимым искажениям в спектре входного сигнала. Специалисты по цифровой обработке сигналов называют такие искажения aliasing, т.е. наложение частот, или неоднозначность. Эта неоднозначность и приводит к сильной нерегулярностии хаотичности классического технического индикатора Momentum.
Набор технических инструментов метода содержит еще два новых осциллятора. Это индексы RBCI и PCCI, также приведенные на рис. 1
Индекс RBCI (Range Bound Channel Index) – ограниченный по полосе индекс канала – вычисляется с помощью полосового фильтра ПФ. Полосовой фильтр выполняет одновременно следующие функции:
· удаляет низкочастотный тренд, формируемый низкочастотными составляющими спектра с периодами, большими T2= 1/fc2;
· удаляет высокочастотный шум, формируемый высокочастотными составляющими спектра с периодами, меньшими T1= 1/fc1.
Периоды T1 и T2 выбираются так,чтобы выполнялось условие T2> T1
Упрощенно RBCI(k) = FATL(k) –SATL(k).
Действительно, когда RBCI приближается к своему локальному максимуму, цены приближаются к верхней границе торгового коридора, а когда RBCI приближается к своему локальному минимуму, цены приближаются к нижней границе торгового коридора.
Отметим основное свойство индекса RBCI. Это квазистационарный (т.е. почти стационарный) процесс, ограниченный по полосе частот как сверху, так и снизу.
Индекс PCCI (Perfect Commodity Channel Index) – совершенный индекс товарного канала – вычисляется по формуле:
PCCI(k) = close(k) – FATL(k).
Он имеет некоторую внешнюю схожесть в способе вычисления с индексом товарного канала CCI(Commodity Channel Index) Д. Лэмберта. Действительно, индекс CCI вычисляется как нормированная разность между текущей ценой и ее скользящей средней, а PCCI – как разность между ценой закрытия дня и ее математическим ожиданием, представленным значением FATL. В этом заключается большая по сравнению с CCI совершенность PCCI. Индекс PCCI – это нормированная на свое стандартное отклонение высокочастотная составляющая колебаний валютного курса.
 

ShadowCandle

Гуру форума
Неужели никто не пробовал? Ведь частотная фильтрация - это тот самый "нужный" метод сглаживания и исключения шумов без потери качества, а шумы (многочисленные ложные сигналы на малых периодах многих индикаторов) - это как раз чуть ли не основная проблема в индикаторах. Авторы предлагают фильтровать цену, но что если пойти дальше и фильтровать показания индикаторов...
Вот как пример картинка с двумя МА: желтая - это SMA 12, а серая - это SMA 10 + частотный фильтр. Обратите внимание на выделенные овалами участки.
 

Вложения

  • EURUSDM5.png
    EURUSDM5.png
    48,5 КБ · Просмотры: 563
Последнее редактирование:

сириус

Новичок форума
ShadowCandle,
здравствуйте а не могли бы выложить этот индикатор
 

Юрий Емельянов

Почетный гражданин
Меня хватило только на первый абзац.;)
Я понял, что это не моё.:)
 

Вложения

  • 13363372515159.jpg
    13363372515159.jpg
    84,4 КБ · Просмотры: 21

ShadowCandle

Гуру форума
Меня хватило только на первый абзац.;)
Я понял, что это не моё.:)
Да теория тут второстепенна, важна сама суть сглаживания, фильтры генерирует (с наглядным представлением результатов на встроенном графике) бесплатная программа сразу в код MQL4, но по значениям close или hl/2, а переделать их на "нужные значения" (на любой источник данных) для любого понимающего программирование дело нескольких минут. Далее вопрос только в подборе нужных параметров, а если уж понимаешь и теорию...
В общем странно, что среди всех соискателей прибыльных систем эта тема никого не заинтересовала.
 
Последнее редактирование:

ShadowCandle

Гуру форума
Для большей наглядности разделю линии на разные скрины. Естественно, линия не перерисовывается (то есть только текущий бар до закрытия), на мой взгляд этот метод фильтрации должен был бы заинтересовать любителей TMA и SSA как альтернативный.
 

Вложения

  • EURUSDM5or.png
    EURUSDM5or.png
    26,8 КБ · Просмотры: 282
  • EURUSDM5sm.png
    EURUSDM5sm.png
    29,5 КБ · Просмотры: 245
Последнее редактирование:

oli

Новичок форума
ShadowCandle,
выложите пожалуйста индикатор который у вас на скрине
 

ShadowCandle

Гуру форума
Сделаем так, чтобы подключить (заинтересовать) программистов, во вложении код, (источник _https://www.mql5.com/ru/code/9869) в котором присутствует используемый частотный фильтр (функция).
Кроме того, данный индикатор, тоже в какой-то мере может пригодиться. ;)
А чтобы получить результат, как на скрине, нужно взять (вырезать) функцию и применить для встроенной в терминал MA, ну и, при желании, добавить "точки" для роста и снижения значений MA.
 

Вложения

  • DV.mq4
    12,8 КБ · Просмотры: 141

ShadowCandle

Гуру форума
Развиваем теорию далее, может кто-нибудь присоединится...
На скрине, внизу "подвала", два варианта стандартного индикатора CCI (только в виде гистограммы), но к верхнему применён частотный фильтр без подбора параметров, данные периода взяты с "потолка".
Смена цвета (пересечение 0 ) в некоторых моментах стала "опаздывать" на один бар, но при этом исчезло несколько "ложных" пересечений, да и сам график осциллятора стал более плавным...
 

Вложения

  • EURUSDM5cci.png
    EURUSDM5cci.png
    33,7 КБ · Просмотры: 344

vladavd

Активный участник
Никаких особенных преимуществ цифровые фильтры не дают, это по сути метод подгонки под актуальный спектр частот, понятное дело, что спектр постоянно меняется и коэфициенты становятся неадекватны. Любой "рисующий" (пересчитывающий несколько последних баров) индикатор (например ТМА с коротким периодом пересчета, Т3 и еще куча других) гораздо адаптивнее.
 

ShadowCandle

Гуру форума
Никаких особенных преимуществ цифровые фильтры не дают, это по сути метод подгонки под актуальный спектр частот, понятное дело, что спектр постоянно меняется и коэфициенты становятся неадекватны. Любой "рисующий" (пересчитывающий несколько последних баров) индикатор (например ТМА с коротким периодом пересчета, Т3 и еще куча других) гораздо адаптивнее.
Вы специалист по цифровым фильтрам? Тогда должны быть в курсе, что обычная скользящая средняя, да и ТМА - это тоже цифровые фильтры ;)
Вопрос в том, как и что применить. Не переходя к теории, посмотрим на практику, вы постоянно используете фильтр для радиопомех (телевизор, телефон и прочее) и не зная, что именно мешает в выбранный момент времени сигнал на выходе получается нормальный (изображение, звук без значимых артефактов), так почему бы не отфильтровать таким же способом резкие и непонятные всплески торговой активности, на выходе по идее возможно получить более чёткий и плавный тренд. А тренд, как известно, наш друг ;)

В общем вижу, что желающих поэкспериментировать в данном направлении нет, а жаль... :not-good:
 

mangold

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

ShadowCandle

Гуру форума
Да желающие есть, но вся проблема , что не все кодеры , чтобы самостоятельно вставлять куски кодов из разных индикаторов.
Вот программа для генерации фильтра и его кода на MQL4, начинать можно с этого, основной вопрос в подборе "хороших" параметров...
http://forexsystemsru.com/poleznye-utility/9789-cifrovye-metody-rasschet-fil`trov.html
Также её скачать можно отсюда _http://fx.qrz.ru

PS Повторюсь, хотелось бы диалога, совместного поиска чего-либо интересного, а рассуждать единолично для общественности как-то странно, не правда ли?.. ;)
 
Последнее редактирование:

vladavd

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

mangold

Активный участник
Вот спасибо ! На выходных надо будет попробовать.
 

ShadowCandle

Гуру форума
ShadowCandle, я не специалист, но вот эту тему немного изучил. Да, любой мувинг это частотный, полосовой фильтр. Под "цифровыми" я имел ввиду конкретно то, о чем вы завели тему: метод сглаживания через подбор коэфициентов посредством анализа спектра. Это, грубо говоря, то же самое, как если вы периодически будете подбирать себе подходящий период мувинга, на глаз оценивая, нарядно ли смотрится. Есть в этом какой-то особенный смысл? Нет, рынок вскоре изменится и период придется снова менять. Этот метод давно уже разобрали до атомов на куче форумов, такое усердие видимо обусловлено тем, что автор (Кравчук) подал его как грааль с высоким ПФ, вот многие и повелись и даже до сих пор ведутся :) А это просто один из огромного множества методов усреднения и сглаживания ценовых рядов, только и всего.
Понимаю, но ведь при помощи обычных "мувингов" торгуют, причём некоторые делают это успешно. Кроме того, я сперва случайным образом наткнулся на результат (готовый фильтр 10 уровней из индикатора выше), хотя искал совсем другое, статью Кравчука читать не стал, чтобы не засорять мысли чужим мнением, т.к. немного понимаю, как работает (принцип) частотный фильтр и без этого. Что же касается изменчивости рынка, за время моего изучения данной субстанции, видел многое, но сама суть остаётся ;)
Понимаю, что написать полную АТС скорее нереально, но вот выхватывать и находить знакомые ситуации и использовать их вполне возможно. Лично мне нужен данный вариант фильтрации, как способ выравнивания внезапных волновых колебаний...

PS Поиски идут примерно в таком направлении...
 

Вложения

  • EURUSDM5.png
    EURUSDM5.png
    31,3 КБ · Просмотры: 204
Последнее редактирование:

Камолиддин

Новичок форума
Сделаем так, чтобы подключить (заинтересовать) программистов, во вложении код, (источник _https://www.mql5.com/ru/code/9869) в котором присутствует используемый частотный фильтр (функция).
Кроме того, данный индикатор, тоже в какой-то мере может пригодиться. ;)
А чтобы получить результат, как на скрине, нужно взять (вырезать) функцию и применить для встроенной в терминал MA, ну и, при желании, добавить "точки" для роста и снижения значений MA.

А можно ли вместо МАшки использовать ROC? Или технически это невозможно?
 

ShadowCandle

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

vladavd

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

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

ShadowCandle

Гуру форума
Ничего вы таким образом не получите, кроме индикаторов, откалиброванных на историческом отрезке. Очень быстро спектр изменится и пересчитывать придется снова. Если пересчет автоматический - все равно вам придется задать какие-то пределы полосы пропускания (фильтр же сам не знает, что именно вам нужно фильтровать), а это суть тот же самый период в мувинге. Ну и смысл всего этого наукообразного головняка?
Сглаживание противоречит запаздыванию. Если индикатор хорошо сглаживает, то он по определению с задержкой реагирует на быстрые движения цены. Начнет быстрее реагировать, так сразу станет хуже сглаживать.
Посмотрите 2 или 6 пост, там я как раз показал пример более гладкой МА с частотным фильтром без дополнительного запаздывания по сравнению с оригиналом этой же МА, параметры никак не оптимизировались и не подбирались на истории.
PS Убеждать вас в чём-либо далее не стану, зачем? Тема создана для тех, кто хочет экспериментов в данном направлении, как уже говорил, что для одного прибыль, для другого пустая трата времени, ибо сколько людей, столько и мнений ;)
 
Верх