![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Цифровой фильтр - алгоритмически очень простая вещь. Просто сумма взвешенных сэмплов. А для расчёта этих коэффициентов есть виндоус-программы. Выбираете НЧ или ВЧ фильтр, частоту среза, уровень подавления и т.д. и получаете набор коэффициентов. Я давным-давно пользовался.
да, правильно - это цифровые фильтры, совсем забыл эту тему, раньше интересно было
оригиналы можно найти поиском по форуму и гуглу "FATL"
да, правильно - это цифровые фильтры, совсем забыл эту тему, раньше интересно было
оригиналы можно найти поиском по форуму и гуглу "FATL"
Спасибо всем, да забывается со временем институт... линейная и нелинейная корреляция, рекурсивные фильтры.... просто не люблю что либо не понимать ...
B1[i] = (hi-lo)/_Point/koef;
Что такое _Point ?
В коде есть строка
B1[i] = (hi-lo)/_Point/koef;
Что такое _Point ?
https://www.mql5.com/ru/docs/predefined/_point
Цифровой фильтр - алгоритмически очень простая вещь. Просто сумма взвешенных сэмплов. А для расчёта этих коэффициентов есть виндоус-программы. Выбираете НЧ или ВЧ фильтр, частоту среза, уровень подавления и т.д. и получаете набор коэффициентов. Я давным-давно пользовался.
Можете предоставить информацию по какой логике формируются эти веса? (желательно с примерами кода)
Я погуглил и по сути нашел только эту статью по ссылке в википедии, и в ней нет и близко чего-то подобного о формировании ряда весов - а только в случае превышения частоты среза выходное значение умножается на 0.707
https://www.allaboutcircuits.com/textbook/alternating-current/chpt-8/low-pass-filters/
* я хоть и в электронике не разбираюсь - но предполагаю что в программировании частоту среза не обязательно вычислять по формуле, а достаточно её просто указать
Можете предоставить информацию по какой логике формируются эти веса? (желательно с примерами кода)
Я погуглил и по сути нашел только эту статью по ссылке в википедии, и в ней нет и близко чего-то подобного о формировании ряда весов - а только в случае превышения частоты среза выходное значение умножается на 0.707
https://www.allaboutcircuits.com/textbook/alternating-current/chpt-8/low-pass-filters/
* я хоть и в электронике не разбираюсь - но предполагаю что в программировании частоту среза не обязательно вычислять по формуле, а достаточно её просто указать
Для расчёта коэффициентов фильтров разных типов есть сложные математические алгоритмы. Опубликованы исходники на C. Перенос на MQL возможен, но трудоёмок. И это нужно только если генерировать фильтры с характеристиками на лету. Если достаточно иметь фильтр с неизменными частотами, берёте программу для расчёта, задаёте тип фильтра и характеристики, и получаете набор коэффициентов. Их подставляете в сам алгоритм фильтрации на MQL, простейший и неоднократно опубликованный здесь.
Программы Windows для расчёта фильтров есть в сети, я пользовался очень давно, концов не найду.
Для расчёта коэффициентов фильтров разных типов есть сложные математические алгоритмы. Опубликованы исходники на C. Перенос на MQL возможен, но трудоёмок. И это нужно только если генерировать фильтры с характеристиками на лету. Если достаточно иметь фильтр с неизменными частотами, берёте программу для расчёта, задаёте тип фильтра и характеристики, и получаете набор коэффициентов. Их подставляете в сам алгоритм фильтрации на MQL, простейший и неоднократно опубликованный здесь.
Программы Windows для расчёта фильтров есть в сети, я пользовался очень давно, концов не найду.
Тут вопрос в другом, Александр хочет понять логику расчета фильтров для временного ряда и самому рассчитать коэф-ы. Что такое НЧ, ВЧ, СЧ фильтр понятно и физически и в ЦАПе, убираются гармоники тех или иных частот. А вот что делает цифровой фильтр и логика расчета коэф-тов. В общем то понятно, сглаживает, уменьшает выбросы. Алгоритмы то не сложные, находятся выбросы цены, подбираются коэф-ты для их уменьшения, а вот формулы да. Сходу не разберешься.)))
Частоты то как раз не стабильны)))
Для расчёта коэффициентов фильтров разных типов есть сложные математические алгоритмы. Опубликованы исходники на C. Перенос на MQL возможен, но трудоёмок. И это нужно только если генерировать фильтры с характеристиками на лету. Если достаточно иметь фильтр с неизменными частотами, берёте программу для расчёта, задаёте тип фильтра и характеристики, и получаете набор коэффициентов. Их подставляете в сам алгоритм фильтрации на MQL, простейший и неоднократно опубликованный здесь.
Программы Windows для расчёта фильтров есть в сети, я пользовался очень давно, концов не найду.
Частоты то как раз не стабильны)))
Вот именно. В статье на каждую величину, по формуле подбирается свой "вес", соответственно и в программировании (в данном случае для трейдинга) на каждую "амплитуду изменения цены" (как представил - так и назвал, как правильно не знаю) должнен индивидуально подбираться свой набор весов
Могу только предположить алгоритм. Фильтр это выделение гармоники нужной или не нужной) частоты, скорее всего выделяются гармоники в местах выбросов и подбираются коэффициенты для выделения этих гармоник. Алгоритмы программ скорее всего это разложение на гармоники с достаточной точностью, а потом по заказу какие нужно убрать рассчитываются коэф-ты. Или в ряду указываются места или условия, которые нужно отфильтровать. И в этих местах идет расчет.