Anchored Volume Delta with Adaptive Bands
- Индикаторы
-
Narayanan Mohanan Mohanan Krishnan
Разработчик MT5/MQL5, создающий Expert Advisors, пользовательские индикаторы, а также инструменты для тестирования и валидации. Моя специализация — чистый, хорошо документированный код без перерисовки (No Repaint): логика по закрытым барам, проверенные буферы, корректное управление хэндлами и - Версия: 1.0
Этот индикатор отображает Cumulative Volume Delta (CVD) — накопительную сумму объёма каждого бара с учётом направления его закрытия — внутри адаптивных полос стандартного отклонения. Он помогает ответить на вопрос, на который сама цена ответить не может: поддерживается ли движение участием объёма или цена движется по инерции.
Накопительная сумма сбрасывается на выбранной вами опорной точке (anchor) — ежедневно, еженедельно или ежемесячно, — поэтому значение всегда рассчитывается относительно текущей сессии, недели или месяца, а не от начала всей истории графика. Именно эта настройка делает индикатор одинаково полезным на пятиминутном графике форекса и на дневном графике акций, и отличает его от обычной накопительной линии объёма, которая непрерывно растёт с того момента, где начинается ваша история котировок.
Как работает индикатор
Каждый бар добавляет свой объём в накопительную сумму: объём прибавляется, если бар закрылся выше предыдущего закрытия, вычитается, если закрылся ниже, и не изменяет сумму, если цена закрытия осталась прежней. По умолчанию используется тиковый объём; реальный объём применяется автоматически, если брокер его предоставляет.
Затем по накопительной серии рассчитываются базовая линия с периодом 20 и её стандартное отклонение, а верхняя и нижняя полосы строятся на выбранном множителе этого отклонения. Поскольку полосы основаны на собственной изменчивости серии, они расширяются при росте активности объёма и сужаются при её снижении — фиксированные уровни, которые нужно подбирать под каждый инструмент, не требуются.
При достижении границы опорного периода накопительная сумма сбрасывается до нуля и начинает строиться заново. На графике это выглядит как чистый перезапуск линии, после чего полосы формируются вокруг нового периода.
Что показывают полосы
Выход за пределы полос означает, что поток объёма стал статистически необычным по сравнению с недавним поведением этого инструмента. Возврат внутрь означает, что он нормализовался. Ни то, ни другое не является сигналом к действию — это лишь описание того, где находится участие объёма относительно собственного недавнего диапазона.
Трейдеры обычно используют три интерпретации этого отображения.
Контакт с полосой. Достижение линией CVD верхней полосы означает, что покупательский поток вышел за пределы своего недавнего диапазона; нижняя полоса отражает то же самое для потока продаж. На скриншотах такие точки отмечены красным на верхней полосе и зелёным на нижней. Дальнейшее развитие после экстремального значения не предопределено: поток может вернуться к обычным значениям, а может продолжить усиливаться, тогда как полосы будут расширяться вслед за ним.
Подтверждение. Цена формирует новый максимум или минимум, и линия CVD делает то же самое. Участие объёма движется вместе с ценой.
Дивергенция. Цена формирует новый минимум, а линия CVD — более высокий минимум, либо наоборот на вершине. Цена продвинулась, но стоящий за ней поток объёма за ней не последовал. Это контекст, а не прогноз: дивергенции разрешаются в обе стороны и нередко сохраняются значительно дольше, чем ожидается.
Параметры
- Applied volume — тиковый объём (по умолчанию) или реальный объём, если брокер его предоставляет
- Anchor period — Continuous, Daily (по умолчанию), Weekly или Monthly
- Bands period — 20
- Bands deviation — 2.0
Чтобы опорный период имел смысл, он должен быть крупнее периода графика: дневная опорная точка на дневном графике сбрасывала бы сумму на каждом баре. В этом случае индикатор переключается на непрерывную серию, указывает причину в журнале Experts и отображает фактически используемую опорную точку в своём коротком имени — так что подпись всегда соответствует тому, что действительно работает.
Буферы
- Буфер 0 — линия CVD
- Буфер 1 — верхняя полоса
- Буфер 2 — базовая линия
- Буфер 3 — нижняя полоса
Все четыре буфера доступны для чтения из советника или другого индикатора через iCustom() и CopyBuffer(). Для значений, которые больше не изменятся, считывайте shift 1 — последний полностью закрытый бар.
Индикатор полностью автономен: он не создаёт дескрипторов других индикаторов, поэтому единственный дескриптор, которым управляет ваш код, — это созданный им самим.
Применение на различных инструментах
На скриншотах показана работа индикатора на пяти классах активов и со всеми тремя вариантами опорного периода, при этом изменяется только опорная точка. На каждом из них красным отмечен контакт с верхней полосой, зелёным — контакт с нижней полосой, а жёлтые линии обозначают дивергенцию между ценой и потоком объёма.
- US30 H1, дневная опорная точка — наиболее полный пример, показывающий оба типа дивергенции. 29 июля цена формирует заметно более низкий минимум, тогда как линия CVD удерживает более высокий минимум: снижение не подкреплено соответствующим потоком объёма, и в течение следующих сессий цена восстанавливается. Ранее, 28 июля, наблюдается обратное — поток достигает верхней полосы, тогда как цена уже начала разворачиваться вниз от своего максимума.
- XAUUSD H1, дневная опорная точка — к 24 июля цена формирует более низкий минимум, а линия CVD — более высокий, причём обе точки отмечены и на графике цены, и на панели индикатора.
- GBPJPY M5, дневная опорная точка — внутридневная сессия, в которой поток продаж уводит линию за нижнюю полосу, после чего она выравнивается и возвращается внутрь полос одновременно со стабилизацией цены.
- BTCUSD H4, недельная опорная точка — более длительный горизонт на рынке, торгующемся круглосуточно, где недельная опорная точка подходит этому таймфрейму лучше дневной. Контакты с полосами отмечены на обоих экстремумах.
- GOOGL Daily, месячная опорная точка — акция на дневном графике, где только месячная опорная точка достаточно крупная, чтобы сохранить накопительную серию. Ежемесячные перезапуски видны как чистые разрывы линии.
Особенности расчёта
Все значения рассчитываются только по завершённым данным. После закрытия бара его значение окончательно и больше не меняется. Обновляется лишь текущий формирующийся бар — по мере поступления новых тиков, — и фиксируется на закрытии этого бара. Индикатор не использует опережающие данные (look-ahead) и не перерисовывает закрытые бары.
Накопительная серия строится детерминированно, поэтому один и тот же график с одинаковыми настройками всегда даёт одинаковые значения независимо от того, когда индикатор был подключён и как была загружена история.
Примечания
- Отдельное окно индикатора, 4 построения, 4 буфера.
- Для начала построения полос требуется около 20 баров истории.
- Тиковый объём является косвенным показателем торгового объёма. На инструментах, где брокер предоставляет реальный объём, его выбор даёт более точную картину.
- Без внешних зависимостей. Накопительная серия, базовая линия и полосы стандартного отклонения рассчитываются внутри самого индикатора. Он не обращается к другим индикаторам, поэтому нет дескрипторов, которые могли бы дать сбой, нечего устанавливать дополнительно и нет зависимости от состояния вашей стандартной папки индикаторов.
Этот индикатор является инструментом технического анализа и фильтрации рыночных условий. Он не является торговой системой, не генерирует торговых сигналов, не предоставляет инвестиционных рекомендаций и не открывает и не сопровождает сделки автоматически. Никаких заявлений об эффективности для него не делается.
Индикатор распространяется бесплатно. Если он оказался полезным, оценка поможет другим трейдерам его найти.
| Другие инструменты этого разработчика Я разрабатываю индикаторы и советники для MT5, уделяя особое внимание чистому документированному коду без перерисовки: логика по закрытым барам, проверенные буферы и отсутствие зависимостей от других индикаторов. Посмотреть все опубликованные продукты → Есть вопросы по расчёту, буферам или использованию индикатора в вашем советнике? Отправьте мне личное сообщение — буду рад ответить. |
Разработка и поддержка: Narayanan Mohanan, разработчик MT5/MQL5.
Если вы заметили ошибку в переводе этой страницы, сообщите мне — я ее исправлю.
