Zero Lag Trend
- Индикаторы
-
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
Средняя без задержки и полоса, которая отказывается переворачивать тренд на тихом баре. Zero-Lag Trend MTF подаёт в среднюю цену плюс её собственное недавнее приращение, что убирает большую часть задержки, а затем оборачивает её полосой, чья ширина есть наибольший ATR недавнего прошлого, а не текущий, поэтому затишье не может развернуть тренд. Сторона меняется только на пробое полосы, никогда на касании. Продукт бесплатный: без пробного периода, без закрытых функций, без страницы апгрейда.
Средняя с нулевой задержкой убирает запаздывание тем, что получает на вход не саму цену, а цену плюс её приращение за половину окна. Вокруг линии строится полоса шириной в кратное наибольшего ATR, увиденного за три длины окна, и именно наибольшего, а не текущего, намеренно: полоса, забывающая недавний всплеск, переворачивала бы тренд на каждом затишье.
Сторона меняется только когда цена пересекает границу полосы, и никогда когда она её просто касается. Одно это правило и отличает продукт от средней с нулевой задержкой и нарисованным каналом, и именно поэтому он даёт один сигнал на настоящий пробой вместо одного на каждый подход.
Что видно на графике
В ценовом окне: средняя с нулевой задержкой, окрашенная по своей стороне и непрерывная через пробой, две границы волатильностной полосы тонкими линиями, две заливки между ними и стрелки BUY и SELL на баре, где полоса была пробита.
Панель
Панель на холсте, на ценовом графике: её можно таскать, свернуть и закрыть. Она показывает действующий таймфрейм и те значения настроек, по которым идёт счёт. Она говорит, что было на последнем закрытом баре: сигнал BUY, сигнал SELL или ничего. И она говорит, откуда взяты числа на экране, из окна свойств или с панели, и сколько из них изменено руками.
Ниже расположены настройки, доступные с панели, с их текущими значениями. Шестерёнка открывает лист из трёх вкладок.
Вкладка Значения содержит таймфрейм, длину, задающую и окно средней, и ATR за полосой, по умолчанию семьдесят, и множитель полосы 1.2, который меряется в пиковых ATR. Вкладка Стили содержит палитру, линию и её толщину, размер стрелок, полосу и две заливки. У каждой строки Значений есть шаговые кнопки, диапазон и предложение подсказки.
Вкладка Алерты содержит главный выключатель, выключатели по событиям, каналы, задержку в минутах и тестовый алерт.
Схем оформления три: тёмная, светлая и дальтоническая на синем с оранжевым вместо красного с зелёным. Всё состояние панели, включая любую правку на листе, хранится отдельно для каждого графика и переживает смену таймфрейма и перезапуск терминала. Интерфейс английский.
Алерты
Из коробки выключены. Три события: сигнал BUY, сигнал SELL и касание линии, которой здесь служит средняя с нулевой задержкой, то есть возврат к ней, а не разворот. У каждого события свой выключатель.
Каналы: всплывающее окно, звук, пуш на мобильный терминал и почта. Есть переключатели по событиям и по каналам, а также пауза, по умолчанию два часа.
Алерты срабатывают по последнему закрытому бару. Ещё два, по умолчанию выключенные, говорят на формирующемся баре в заданном окне секунд до закрытия и названы ранними не для красоты: переворот, случившийся в середине бара, может отмениться. Telegram в продукт не входит.
Сигналы на формирующемся баре
Один переключатель важнее остальных, и он есть и во вкладке «Значения», и во входных параметрах: разрешено ли писать буферы и стрелки на ещё не закрывшемся баре.
Когда он включён, а так продукт и поставляется, переворот виден сразу, как только рынок его сделал. Иногда он отменяется до закрытия бара, и стрелка исчезает. Когда он выключен, на формирующемся баре не пишется вообще ничего: перерисовки нет никакой, но каждый сигнал по построению приходит на бар позже.
Оба поведения законны. Продукт не выбирает за трейдера и не скрывает, в каком режиме работает: об этом говорят и панель, и название настройки.
Мультитаймфрейм
Настройка «Таймфрейм» считает на старшем периоде и рисует результат здесь. Читаются только закрытые старшие бары: бару графика соответствует самый свежий старший бар, успевший закрыться к закрытию самого этого бара, поэтому переворот встаёт на бар, закрывающийся вместе со старшим, и на графике нет ничего, что нельзя было знать в реальном времени.
Чужой ряд строится в фоне. Первое обращение к нему может вернуть пустоту, индикатор повторяет попытку, а панель сообщает, ждёт он загрузку или столкнулся с настоящей нехваткой истории. Из-за отсутствия баров инициализация не срывается.
Чтение из советника
Шестнадцать буферов, все читаются через iCustom и CopyBuffer. Буфер 0, Buy, несёт цену стрелки на баре BUY и EMPTY_VALUE в остальных случаях, и он не рисуется; буфер 1, Sell, делает то же самое для SELL. Буферы со 2 по 5 принадлежат двум заливкам, это служебная часть отрисовки, а не данные для чтения. Буфер 6 несёт средняя с нулевой задержкой, пока тренд вверх, а буфер 7 несёт ту же линию, пока он вниз; на баре разворота значение есть в обоих, именно поэтому нарисованная линия не рвётся. Буфер 8 несёт верхняя граница волатильностной полосы, буфер 9 несёт её нижняя граница. Буферы 10 и 11 это нарисованные копии буферов 0 и 1. Буфер 12, Signal, равен +1 на баре BUY, -1 на баре SELL и 0 в остальных случаях. Буфер 13 это Override, буфер 14 это средняя с нулевой задержкой одним непрерывным рядом, буфер 15 это сам тренд, 0 пока вверх и 1 пока вниз.
Буфер 16 добавлен этим портом и стоит после всей общей карты: это сам ATR, который нужен движку и который полезно читать напрямую. Ни один индекс общего контракта не сдвинулся.
Буферы 0 и 1 составляют контракт: они никогда не рисуются, заполняются на каждом проходе независимо от вкладки Стили и присутствуют в окне данных. Спрятать стрелки на экране нельзя так, чтобы советник остался без сигнала, потому что сокрытие делается сменой способа отрисовки, а не обнулением буфера.
Экземпляр, созданный через iCustom, доступен только на чтение и всегда работает на тех параметрах, которые вы передали. Буфер Override позволяет советнику понять, что экземпляр на графике считает по числам, изменённым руками с панели.
Происхождение
Это порт семейства Zero Lag Trend. Средняя с нулевой задержкой публична и принадлежит Элерсу и Рису, а подача с волатильностной полосой воспроизведена по формулам, что делает порт по формуле допустимым. Заявлены три отличия: на первых барах сдвинутое закрытие недоступно и берётся самое старое, средняя засевается своим первым значением, ATR прогревается бегущим средним, а окно пика прогрессивное, тогда как Pine ничего не отдаёт; у оригинала сторона стартует нейтральной и получает знак только на первом пересечении, а поскольку в раскладке этой линейки нейтральной стороны нет, до первого пересечения линия рисуется как восходящая; и добавлен буфер под сам ATR.
Продукт называется Zero-Lag Trend MTF, потому что так называется метод, а не потому, что здесь заявлено авторство метода. Оригинальная работа принадлежит своему автору.
Честные ограничения
Убирание задержки усиливает шум. Средняя с нулевой задержкой перелетает развороты, и полоса нужна, чтобы этот перелёт не стал сигналом, а не чтобы его не было.
Полоса помнит наибольший недавний ATR. После резкого бара она остаётся широкой некоторое время, и в это время для смены стороны нужно движение крупнее.
Длина и множитель двигают каждый пробой, о котором продукт сообщит. Две конфигурации дают два разных набора стрелок, и ни одна из них не является истинной.
Никакой доходности, процента прибыльных сделок и результатов тестов здесь не заявлено.
