Мои опыты в программировании начинают приносить первые серьезные плоды (не считая робота).
Сегодня удачный день. Выделил в отдельный модуль и запрограммировал наконец блок цифровой фильтрации в классическом виде, а не в виде тех извращений с ограничениями, которые позволяет классический набор инструментария MQL4.
Что сделано нового.
1. Наконец удалось реализовать точную модель фильтров в явном виде и без ограничений, вызванных погрешностью задания коэффициентов в уравнениях фильтрации при переходе от таймфрейма к таймфрейму.
2. Кроме классических цифровых фильтров, полученных заменой в уравнениях фильтрации производных на конечные разности, добавил опцию билинейного z-преобразования (моя давняя мечта, но никак руки не доходили), которая устраняет эффект ошибки эффекта наложения на краю частотного диапазона временного ряда.
И пусть в конечном результате, т.е. в индикаторах SWT визуально это почти не проявляется (я уже не раз говорил и еще раз повторюсь, что конкретный тип фильтров не имеет принципиального значения), но удовольствие от хорошо сделанной работы огромное.
На рисунке — верхнее окно индикатора — классический метод конечных разностей. Нижнее — метод билинейного z-преобразования.
А можно твоего бота в бою попробовать?
Деньги мой, ответственность 50/50
Попробуйте с трех попыток убедить меня, что мне это надо.
В принципе метод допускает любые вариации, пользуясь полной свободой можно выбрать все что угодно.
Но лучше выбрать что-либо определенное. Так я и поступил — сориентировался на естественные циклы: дневной и недельный.
В сутках 24 часта. В торговой неделе примерно 120. Соотношение периодов 1:5. Ну и дальше разбил оставшуюся шкалу с пятикратным шагом вверх и вниз от этих двух фильтров.