Nadaraya Watson Envelope MTF
- Индикаторы
-
Evgenii Sutulov
I build trading indicators, strategies, and dashboards that don't repaint.
Seven years doing this. MetaTrader 4, MetaTrader 5, TradingView.
Closed bars only. What you see is what happened.
The bar being formed never changes a published value. - Версия: 1.3
Nadaraya Watson Envelope MTF строит по цене гладкую центральную линию, вокруг неё конверт, и отмечает бары, на которых цена вернулась внутрь конверта после того, как побывала снаружи.
Вопрос у индикатора один, и другого он не заявляет: цена ушла далеко от собственного недавнего центра и только что перестала уходить. Как это трактовать, как вход против движения, как место для фиксации прибыли по тренду или никак, решает трейдер. Индикатор находит событие, но не оценивает его качество.
Как построена линия
Центральная линия это ядерная регрессия Надарая-Уотсона: каждый бар представляет собой взвешенное среднее предыдущих баров, вес задан гауссовым ядром и убывает с расстоянием. Конверт отстоит от центра на заданное число средних абсолютных отклонений, поэтому он расширяется там, где цена шумела вокруг линии, и сужается там, где вела себя спокойно.
Оценка каузальная. Бар i считается по барам i, i-1, i-2 и дальше в прошлое, и никогда по тем, что правее. Это сознательное отличие от того, как ядерная регрессия обычно выглядит на графических сайтах: там подгонка двусторонняя, и линия перерисовывается по мере прихода новых баров. Здесь центральная линия закрытого бара уже не изменится.
Что видно на графике
Центральная линия окрашена по собственному наклону: один цвет на подъёме, другой на спуске. Верхняя и нижняя границы конверта нарисованы пунктиром. Метки BUY и SELL стоят на барах возврата, под минимумом и над максимумом соответственно.
Рисуется в ценовом окне, поверх свечей.
Панель
Панель на канвасе, перетаскивается мышью, сворачивается, закрывается. На ней три живые строки: таймфрейм, на котором реально идёт расчёт, плюс действующие окно и ширина ядра; итог последнего закрытого бара, то есть значение центра и одно из трёх, возврат в покупку, возврат в продажу или возврата нет; и откуда взяты числа, из окна свойств или с панели, и сколько из них изменено руками.
Ниже перечислены все настройки, доступные с панели, с текущими значениями. Изменённое подсвечено, так что видно сразу: график считается не по умолчанию.
Лист настроек
Шестерёнка открывает лист настроек из трёх вкладок.
Вкладка «Значения» держит четыре величины, способные сдвинуть сигнал: таймфрейм, окно N, ширину ядра h и множитель конверта. У каждой строки кнопки минус и плюс, свои границы и пояснение, что изменится. Сверху счётчик, сколько из четырёх уже не совпадает с окном свойств, и одна кнопка возвращает всё обратно.
Вкладка «Алерты» содержит общий выключатель, переключатели по событиям, четыре канала, паузу между алертами в минутах и кнопку тестового алерта по всем включённым каналам.
Вкладка «Стиль» отвечает только за внешний вид: палитра, показывать ли центр, конверт и стрелки, толщина линии, размер стрелок. Ничто отсюда не пересчитывает ряд. Скрытая центральная линия по-прежнему считается, звонит и читается советником.
Схем оформления три: тёмная, светлая и дальтоническая, где вместо красного с зелёным идут синий с оранжевым. Кнопка схемы находится в шапке панели, палитру графика можно привязать к ней же.
Положение панели, схема, свёрнутость и все правки на листе хранятся отдельно для каждого графика и переживают смену таймфрейма и перезапуск терминала. Интерфейс английский.
Алерты
Из коробки молчат: общий выключатель в поставке выключен, так что прикрепление индикатора ничего не озвучит, пока об этом не попросят.
События: сигнал BUY, сигнал SELL. Каналы: всплывающее окно, звук, пуш на мобильный терминал, электронная почта. У каждого события и у каждого канала собственный переключатель, а пауза, по умолчанию два часа, не даёт одному и тому же событию звонить подряд.
Алерты срабатывают по последнему закрытому бару. Отдельно есть два ранних алерта по формирующемуся бару. По умолчанию они выключены и говорят только в заданном окне секунд перед закрытием. Их название честное: возврат, существующий в середине бара, к закрытию может исчезнуть.
Telegram в этот продукт не входит.
Мультитаймфрейм
Настройка «Таймфрейм» заставляет индикатор считать на старшем периоде и рисовать результат на текущем графике. Читаются только закрытые старшие бары: бару графика соответствует самый свежий старший бар, успевший закрыться к его времени, а не тот, внутри которого он лежит. Тот, внутри которого он лежит, ещё формируется и в реальном времени неизвестен.
Метки BUY и SELL ставятся на единственный бар графика, где сменился старший бар. Центр, конверт и наклон держатся на всём протяжении старшего бара, отсюда и ступенчатый вид.
Чужой таймфрейм терминал строит в фоне, и первое обращение к нему законно возвращает пустоту. Индикатор повторяет попытку раз в секунду и пишет на панели, ждёт он загрузку или упёрся в реальную нехватку истории. Из-за отсутствия баров он никогда не срывает инициализацию.
Чтение из советника
Все буферы доступны через iCustom и CopyBuffer, а два сигнальных стоят первыми, чтобы их не приходилось отсчитывать.
Буфер 0, Buy, хранит цену метки BUY на сигнальном баре, в остальных случаях EMPTY_VALUE; буфер 1, Sell, то же самое для метки SELL. Буфер 2, Center, это центральная линия ядерной регрессии, а буфер 3 отвечает за индекс её цвета. Буфер 4, Upper, и буфер 5, Lower, это верхняя и нижняя границы конверта. Буферы 6 и 7, BuyMark и SellMark, это рисуемые копии буферов 0 и 1. Буфер 8, Signal, равен +1 при возврате снизу, -1 при возврате сверху и 0, если возврата нет. Буфер 9, Slope, равен +1, пока центр растёт, и -1, пока падает. Буфер 10, Override, сообщает, сколько настроек изменено с панели.
Буферы 0 и 1 образуют контракт. Они не рисуются, заполняются на каждом проходе независимо от вкладки «Стиль» и видны в окне данных. Стрелки на графике это копии в индексах 6 и 7, синхронизированные с контрактом. Поэтому выключенные стрелки не могут лишить советник сигнала.
Буфер 10 нужен, чтобы советник понял: числа посчитаны не на тех параметрах, которые он передавал. С панели управляется только экземпляр, реально висящий на графике; созданный через iCustom работает в режиме чтения и всегда следует переданным параметрам.
Честные ограничения
Метка на текущем незакрытом баре может появиться и пропасть. Пока бар открыт, цена внутри конверта; к закрытию оказалась снаружи, и метки нет. У закрытого бара метка и линии больше не меняются.
Это не торговая система. Здесь нет правила выхода, размера позиции, постановки стопа и проверки того, уместен ли вообще возврат к среднему в текущем режиме рынка. В сильном тренде цена держится снаружи конверта долго, и каждый возврат, который в итоге случится, будет против этого тренда.
Никакой доходности, процента прибыльных сделок и результатов тестов здесь не заявлено, и выводить их отсюда не следует.
На старшем таймфрейме у первых баров графика может не быть ни одного закрывшегося старшего бара, они намеренно остаются пустыми.
Окно ядра задано в барах. На короткой истории или на символе, историю которого брокер не отдаёт, линия начнётся там, где баров хватит для расчёта, и не раньше.

