Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 21
- Рейтинг:
- Опубликован:
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
1. Обзор
Фильтр тренда «Альфа-Бета» — это индикатор прогнозного сглаживания, основанный на теории управления и цифровой обработке сигналов. Концептуально он представляет собой упрощённый фильтр Калмана в режиме установившегося состояния. В то время как стандартные скользящие средние (SMA, EMA, LWMA) строго опираются на усреднение прошлых данных — и, следовательно, по своей сути отстают от текущего ценового движения — фильтр «Альфа-Бета» активно оценивает текущую «истинную» цену и скорость тренда, одновременно устраняя рыночный шум.
Данная конкретная реализация на MQL5 усовершенствует классический однолинейный индикатор за счет включения матричной панели инструментов, поддерживающей несколько символов и временных интервалов. Она позволяет трейдерам отслеживать трендовую направленность «Альфа-Бета» по всему портфелю непосредственно на одном графике, который динамически обновляется при каждом тике.
2. Математический движок
Фильтр работает итеративно с каждым новым ценовым баром. Он опирается на два основных коэффициента настройки:
-
$\alpha$ (альфа): коэффициент чувствительности к цене. Он регулирует вес, придаваемый исходным данным о новой цене по сравнению с внутренним прогнозом фильтра.
-
$\beta$ (бета): коэффициент чувствительности к скорости. Он регулирует степень реагирования на изменения импульса тренда.
Алгоритм выполняется в два отдельных этапа для каждого бара:
Этап 1: Этап прогнозирования
До закрытия текущего бара фильтр прогнозирует текущую цену ($\hat{P}_{t}$) и скорость ($\hat{V}_{t}$) на основе рассчитанного состояния предыдущего бара:
Этап 2: Шаг обновления
Как только становится известна фактическая цена закрытия ($Z_{t}$), фильтр вычисляет погрешность/остаток ($E_{t}$) между своим прогнозом и фактическим значением и обновляет своё внутреннее состояние:
Где:
-
$Z_{t}$: фактическая цена закрытия текущего бара.
-
$P_{t}$: обновлённая, сглаженная оценка цены (отображаемая на графике).
-
$V_{t}$: обновлённая скорость (используется для определения направленности тренда — бычьего или медвежьего).
3. Основные особенности данной реализации
-
Сглаживание с нулевой задержкой: Линия основного индикатора гораздо плотнее следует за ценовым движением, чем традиционные EMA, что делает её отличной базовой линией для стратегий на быстрых пересечениях.
-
Динамическое цветовое кодирование: основная линия на графике использует функцию DRAW_COLOR_LINE для автоматического переключения между синим (бычья скорость) и красным (медвежья скорость) цветами в зависимости от внутреннего состояния $V_{t}$.
-
Ненавязчивая матричная панель инструментов: графический интерфейс на графике отслеживает состояние тренда (бычий, медвежий, ожидание) на 5 таймфреймах по пользовательскому списку внешних символов.
-
Оптимизированное управление ресурсами: для внешних символов и таймфреймов в панели инструментов не загружается полная история. Скрипт извлекает только минимально необходимые бары с помощью CopyClose() для расчета текущего состояния, предотвращая задержки в работе терминала.
4. Объяснение входных параметров
Настройки механизма фильтрации
-
inpAlpha (по умолчанию: $0,2$): Диапазон обычно составляет от $0,1$ до $0,9$. Более высокое значение $\alpha$ обеспечивает плотное следование за исходной ценой (отлично подходит для скальпинга); более низкое значение $\alpha$ значительно сглаживает линию, игнорируя боковые колебания (лучше подходит для свинг-трейдинга).
-
inpBeta (по умолчанию: $0,05$): Диапазон обычно составляет от $0,01$ до $0,5$. Более высокое значение $\beta$ обеспечивает агрессивную реакцию на внезапные изменения импульса. Очень низкое значение $\beta$ предполагает наличие устойчивого, непоколебимого тренда.
Настройки сетки панели инструментов
-
inpSymbols (по умолчанию: «EURUSD,GBPUSD,USDJPY,AUDUSD»): строка, разделенная запятыми, с символами, которые вы хотите отслеживать. Код автоматически анализирует её с помощью StringSplit().
-
Переключатели таймфреймов (от showM5 до showD1): булевы параметры, позволяющие настраивать, какие столбцы отображаются на панели инструментов матрицы.
5. Архитектура и основные особенности кода
Разработчикам MQL5, изучающим исходный код, следует обратить внимание на следующие структурные решения:
-
Индексирование временных рядов: MQL5 по умолчанию индексирует массивы от самого старого к самому новому. Чтобы соответствовать стандартной торговой логике (где [0] — текущий бар), в коде активно используется функция ArraySetAsSeries(buffer, true) для всех буферов индикаторов и полученных массивов.
-
Вспомогательная функция извлечения состояния: функция GetStateForTarget() представляет собой автономный цикл, используемый панелью инструментов. Она извлекает 50 баров цен закрытия для целевого символа/таймфрейма, инициализирует механизм прогнозирования и возвращает целочисленное значение состояния (0 — «бычий», 1 — «медвежий») без необходимости вызова внешних функций iCustom.
-
Чистая деинициализация объектов: функция OnDeinit() проходит по префиксу пользовательского интерфейса (AB_Matrix_), чтобы гарантировать, что все графические метки будут удалены с графика в момент удаления индикатора.
6. Торговые приложения
-
Настройка для скальпинга: попробуйте значение $\alpha$ равное 0,45 и $\beta$ равное 0,12. Линия с цветовой маркировкой будет быстро менять цвет, что позволит вам улавливать микротренды на графиках M1 или M5.
-
Настройка для макро-свинга: Уменьшите значения до $\alpha$ = 0,15 и $\beta$ = 0,02. Индикатор будет оставаться ровным во время внутридневного шума, удерживая вас в сделке до тех пор, пока не произойдет подлинный макроскопический сдвиг скорости.
-
Совпадение матрицы: используйте панель инструментов, чтобы открывать сделки на текущем графике только тогда, когда ячейки H1, H4 и D1 для данного символа полностью совпадают по цвету.
Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/74958
SuperTrend_Amarnath_Kondiyan_Mohan
Супертренд с управлением TP и SL по корзине
CKS Position Risk Dashboard
Панель управления MT5, доступная только для просмотра, для определения размера лота с учетом рисков, оценки состояния счета, ограничений брокера по объему торгов и текущей подверженности риску по символам.
Trend Flasher -AKM
Панель мониторинга супертренда с поддержкой нескольких валют и нескольких символов
YURAZ_MCCH
Индикатор рассчитывает % роста или падения относительно CLOSE, написан с применением ООП, и легко интегрируется в любой советник или иной индикатор.
