Anchored Volume Delta with Adaptive Bands MT4
- Индикаторы
-
Narayanan Mohanan Mohanan Krishnan
Разработчик MT5/MQL5, создающий Expert Advisors, пользовательские индикаторы, а также инструменты для тестирования и валидации. Моя специализация — чистый, хорошо документированный код без перерисовки (No Repaint): логика по закрытым барам, проверенные буферы, корректное управление хэндлами и - Версия: 1.0
Индикатор строит кумулятивную дельту объёма (CVD) — нарастающий итог объёма каждого бара со знаком в зависимости от направления его закрытия — внутри адаптивных полос стандартного отклонения. Он отвечает на вопрос, на который цена сама по себе не отвечает: движение поддержано участием или это просто дрейф?
Нарастающий итог начинается заново на выбранной вами точке привязки — дневной, недельной или месячной, — поэтому показание всегда соотносится с текущей сессией, неделей или месяцем, а не с началом истории графика. Именно этот единственный параметр делает один и тот же индикатор полезным и на минутном графике форекса, и на дневном графике индекса, и именно он отличает его от простой линии накопленного объёма, которая лишь растёт от того места, где случайно начинается ваша история.
Как это работает
Каждый бар добавляет свой объём в нарастающий итог: прибавляется, когда бар закрывается выше предыдущего закрытия, вычитается, когда ниже, и не изменяет итог при равном закрытии.
Затем по этому кумулятивному ряду рассчитываются 20-периодная базовая линия и её стандартное отклонение, а верхняя и нижняя полосы располагаются на выбранном множителе отклонения. Поскольку полосы построены на собственной изменчивости ряда, они расширяются, когда участие становится волатильным, и сужаются, когда оно успокаивается, — никаких фиксированных порогов, которые пришлось бы подбирать под каждый инструмент.
При достижении границы привязки нарастающий итог обнуляется и начинается заново. На графике это выглядит как чистый перезапуск линии, и полосы формируются вокруг нового периода.
Что показывают полосы
Выход за полосы означает, что поток объёма стал статистически необычным для недавнего поведения этого инструмента. Возврат внутрь означает, что он нормализовался. Ни то, ни другое не является сигналом к действию — это описание того, где сейчас находится участие относительно своего же недавнего диапазона.
Три прочтения, которые трейдеры обычно извлекают из этого отображения:
Касание полосы. Линия CVD, достигшая верхней полосы, показывает покупательский поток, растянутый относительно своего недавнего диапазона; нижняя полоса означает то же самое для потока продаж. На скриншотах эти точки отмечены красным у верхней полосы и зелёным у нижней. Что следует за растянутым показанием, не предопределено: поток может нормализоваться, а может продолжать расширяться вместе с расходящимися вокруг него полосами.
Подтверждение. Цена обновляет максимум или минимум, и линия CVD делает то же самое. Участие движется вместе с ценой.
Дивергенция. Цена обновляет минимум, а линия CVD формирует более высокий минимум — или наоборот на максимуме. Цена сдвинулась, но стоящий за ней поток объёма за ней не последовал. Это контекст, а не прогноз: дивергенции разрешаются в обе стороны и могут сохраняться гораздо дольше, чем ожидается.
Входные параметры
- Используемый объём — тиковый объём (по умолчанию)
- Период привязки — непрерывно, день (по умолчанию), неделя или месяц
- Период полос — 20
- Множитель отклонения — 2.0
Чтобы привязка имела смысл, она должна быть крупнее периода графика: дневная привязка на дневном графике обнулялась бы на каждом баре. В этом случае индикатор переходит к непрерывному ряду, указывает причину в журнале Experts и показывает фактически используемую привязку в своём коротком имени — так что подпись всегда соответствует тому, что действительно работает.
Буферы
- Буфер 0 — линия CVD
- Буфер 1 — верхняя полоса
- Буфер 2 — базовая линия
- Буфер 3 — нижняя полоса
Все четыре доступны для чтения из советника или другого индикатора через iCustom(). Буферы в MQL4 индексируются как таймсерия, поэтому сдвиг 1 — это последний полностью закрытый бар; читайте именно его, чтобы получить значения, которые больше не изменятся:
double cvd = iCustom(NULL, 0, "NaaMo\\CVDBands", 0, 1); double upper = iCustom(NULL, 0, "NaaMo\\CVDBands", 1, 1); double basis = iCustom(NULL, 0, "NaaMo\\CVDBands", 2, 1); double lower = iCustom(NULL, 0, "NaaMo\\CVDBands", 3, 1);
Индексы буферов в точности совпадают с версией для MetaTrader 5. Код, написанный под буфер 2, получит базовую линию на любой из платформ.
Индикатор самодостаточен: он не вызывает другие индикаторы, поэтому для его работы не требуется ничего постороннего.
На разных инструментах
Скриншоты показывают индикатор на пяти инструментах и с несколькими вариантами привязки. Там, где есть отметки, красный отмечает касание верхней полосы, а зелёный — касание нижней.
- EURUSD H1, месячная привязка — более длительное накопление, чем при дневной по умолчанию, с отмеченными касаниями полос на обоих экстремумах.
- Индекс доллара M15, дневная привязка — открыто окно данных, где все четыре буфера подписаны и показаны для одного бара.
- US30 Daily — переход к запасному варианту в действии. Дневная привязка обнулялась бы на каждом баре, поэтому индикатор перешёл к непрерывному ряду и указал Continuous в своей подписи.
- XAUUSD M5, дневная привязка — внутридневная сессия, где поток продаж уводит линию через нижнюю полосу и удерживает её там, пока цена идёт ниже.
- GBPUSD M1, дневная привязка — самый короткий таймфрейм, где обнуления происходят часто, а полосы быстро формируются заново.
- BTCUSD M15 — окно параметров со всеми настройками.
Поведение расчёта
Значения рассчитываются только по завершённым данным. После закрытия бара его значение окончательно и не меняется. Обновляется лишь формирующийся бар по мере поступления тиков, и он фиксируется на закрытии этого бара. Индикатор не использует данные из будущего и не перерисовывает закрытые бары.
Кумулятивный ряд перестраивается детерминированно, поэтому один и тот же график с теми же настройками всегда даёт одни и те же значения независимо от того, когда индикатор был установлен и как загружалась история.
Примечания
- Отдельное окно индикатора, 4 линии, 4 буфера.
- Для начала отрисовки полос требуется около 20 баров истории.
- Тиковый объём — это приближение к реальному торговому объёму. Реальный объём в MetaTrader 4 недоступен: при его выборе индикатор останавливается с сообщением, а не подставляет молча что-то другое.
- Никаких внешних зависимостей. Кумулятивный ряд, базовая линия и полосы стандартного отклонения рассчитываются внутри индикатора. Это один файл, который не вызывает никакие другие индикаторы, поэтому рядом с ним нечего устанавливать и нет зависимости от состояния вашей папки индикаторов.
- Версия для MetaTrader 5 также опубликована и имеет совпадающие индексы буферов.
Этот индикатор — инструмент технического анализа и фильтрации рыночных условий. Это не торговая система, он не генерирует торговых сигналов, не даёт инвестиционных рекомендаций и не открывает сделки и не управляет ими автоматически. Никаких заявлений о доходности не делается.
Бесплатен для загрузки и использования. Если он окажется вам полезен, оценка поможет другим трейдерам его найти.
| Другие инструменты этого разработчика Я разрабатываю индикаторы и советники для MetaTrader, уделяя особое внимание чистому, документированному коду без перерисовки: логика на закрытых барах, проверенные буферы и отсутствие зависимостей от других индикаторов. Посмотреть все опубликованные продукты → Есть вопросы о расчёте, буферах или использовании индикатора в собственном советнике? Напишите мне в личные сообщения — с удовольствием отвечу. |
Разработано и поддерживается Narayanan Mohanan, разработчиком MetaTrader.
Если вы заметили ошибку в переводе этой страницы, сообщите мне — я ее исправлю.
