Oscillator Regime Suite
- Индикаторы
-
Narayanan Mohanan Mohanan Krishnan
Разработчик MT5/MQL5, создающий Expert Advisors, пользовательские индикаторы, а также инструменты для тестирования и валидации. Моя специализация — чистый, хорошо документированный код без перерисовки (No Repaint): логика по закрытым барам, проверенные буферы, корректное управление хэндлами и - Версия: 1.0
- Активации: 10
Индикатор применяет конструкцию схождения/расхождения — быстрая скользящая средняя минус медленная, с сигнальной линией — к ряду, производному от объёма, а не к цене. На выбор доступны три источника: кумулятивная дельта объёма, индекс силы и балансовый объём.
Поверх результата строятся адаптивные полосы волатильности, и каждый завершённый бар классифицируется в одно из пяти состояний режима. Это состояние выводится в отдельный числовой буфер, поэтому советник может читать его напрямую.
Почему важен источник
Стандартный MACD измеряет ценовой моментум, который и без того виден по свечам выше. Эти три источника измеряют другое: накапливался объём или распределялся в то время, когда происходило движение цены.
Три источника не взаимозаменяемы, и на одном из скриншотов все три показаны на одном графике с одинаковыми настройками, чтобы различия были видны рядом.
- Кумулятивная дельта объёма — кумулятивный знаковый объём, обнуляемый в начале каждого дня, недели или месяца. Именно привязка делает его сессионной мерой, а не мерой за всю историю.
- Индекс силы — изменение цены бара, умноженное на его объём, затем сглаженное. Отдельная величина по отношению к двум другим.
- Балансовый объём — кумулятивный знаковый объём, идущий непрерывно с начала истории, без сброса.
Дельта объёма и балансовый объём имеют общую основу — кумулятивный знаковый объём — и различаются только привязкой. Если задать для дельты непрерывный режим, оба дают один и тот же ряд, что служит удобной проверкой согласованности двух путей расчёта.
Пять состояний режима
Каждый завершённый бар классифицируется по положению гистограммы относительно полос и по тому, продолжает ли она расширяться:
- Сильный бычий — выше верхней полосы и продолжает расширяться. Значение буфера +2
- Слабый бычий — выше верхней полосы, но затухает. Значение буфера +1
- Нейтральный — внутри полос. Значение буфера 0
- Слабый медвежий — ниже нижней полосы, но ослабевает. Значение буфера −1
- Сильный медвежий — ниже нижней полосы и продолжает расширяться. Значение буфера −2
Сам по себе выход за полосу ещё не говорит о том, сохраняет ли движение силу. Отличить движение, которое продолжает набирать ход, от того, которое начало угасать, позволяет направление гистограммы — именно это и кодируют пять состояний.
Настройка избирательности классификации
Полосы представляют собой стандартное отклонение вокруг скользящей средней, поэтому они расширяются при росте активности и сужаются при её снижении. Частоту смены состояний определяют два параметра.
Период полос задаёт окно. Применять полосы к сигнальной линии определяет, рассчитываются ли они по сигнальной линии или по самой гистограмме. Два скриншота показывают разницу: при настройках по умолчанию состояния сменяются на протяжении всего движения, а если взять полосы по гистограмме с более длинным периодом, гистограмма большую часть времени остаётся внутри них и окрашивается только при реальных прорывах.
Ни одна из настроек не является правильной. Всё зависит от того, хотите ли вы, чтобы классификация отслеживала каждое колебание или отмечала только экстремумы.
Чтение из советника
Смещение режима находится в буфере 6, а не в буфере 5. Буфер 1 хранит индекс цвета гистограммы, а буфер 5 обслуживает скрытый график, поэтому нумерация буферов данных не совпадает с нумерацией видимых графиков. На этом часто ошибаются, поэтому здесь об этом сказано прямо.
int h = iCustom(_Symbol, _Period, "OscillatorRegimeSuite"); double bias[]; ArraySetAsSeries(bias, true); CopyBuffer(h, 6, 0, 100, bias); // +2, +1, 0, -1 или -2
- 0 — гистограмма
- 1 — индекс цвета гистограммы
- 2 — сигнальная линия
- 3 — верхняя полоса
- 4 — нижняя полоса
- 5 — служебный график
- 6 — смещение режима, выход для советника
Буферы 7 и 8 содержат быструю и медленную скользящие средние и используются внутренне. Они не входят в документированный интерфейс.
На одном из скриншотов показано окно данных с этими значениями и подписями на одном баре, рядом со встроенным MACD на том же графике для сравнения.
Входные параметры
- Источник — кумулятивная дельта объёма, индекс силы или балансовый объём
- Используемый объём — тиковый или реальный
- Привязка дельты объёма — непрерывно, день, неделя или месяц; применяется только к источнику «дельта объёма»
- Сглаживание индекса силы — период и метод, применяются только к источнику «индекс силы»; по умолчанию 13 и простое
- Быстрая и медленная средние — период и метод для каждой; по умолчанию 12 и 26, обе экспоненциальные
- Сигнальная средняя — период и метод; по умолчанию 9 и простое
- Включить полосы и классификацию режима — при выключении остаётся обычный осциллятор схождения/расхождения без состояний
- Применять полосы к сигнальной линии — включено по умолчанию; при выключении они рассчитываются по гистограмме
- Период полос и множитель отклонения — по умолчанию 20 и 1,618
Что показано на скриншотах
- Все три источника на одном графике — недельный биткоин, одинаковые настройки, внизу встроенный MACD для сравнения. Три объёмных ряда отличаются друг от друга и от ценового моментума.
- Пять состояний на развороте — EURGBP H4, где переход от сильного медвежьего через нейтральный к сильному бычьему и обратно читается бар за баром.
- Окно данных — все буферы с подписями на одном баре, смещение режима равно −2,00, рядом два неподписанных значения встроенного MACD.
- Резкое движение на часовом USDJPY — объёмный ряд ушёл в отрицательную зону, пока ценовой MACD оставался положительным. Одно окно на одном инструменте; см. примечание ниже о том, что это показывает, а что нет.
- Золото на M15 с дневной привязкой — дельта объёма обнуляется каждую сессию, рядом на том же графике гораздо более медленный экземпляр на балансовом объёме.
- Серебро H4 с параметрами 50/200/20 и US30 дневной с 34/89/13 — периоды задаются параметрами, и классификация работает при настройках, далёких от значений по умолчанию.
- Избирательная конфигурация — часовой GBPUSD с полосами по гистограмме и более длинным периодом, где большинство баров остаются нейтральными и окрашиваются только явные прорывы.
- Уведомление о привязке — дневная привязка, запрошенная на дневном графике, где она обнулялась бы каждый бар. Индикатор сообщает об этом в журнале Experts и переходит на непрерывный ряд.
- Окно параметров — все настройки, за которым виден сам индикатор.
Поведение расчёта
Значения на закрытых барах окончательны. Формирующийся бар обновляется до закрытия и пересчитывается на каждом тике, а не фиксируется при первом касании.
Кумулятивные источники продвигаются по одному бару от значения предыдущего бара, поэтому повторная обработка формирующегося бара не может дважды учесть его объём — ошибка, из-за которой кумулятивный ряд неограниченно уходит вверх.
Ничего не рисуется, пока расчёт не располагает необходимой историей. При настройках по умолчанию это 55 баров, и число растёт при увеличении периода полос или при использовании индекса силы. Значения никогда не вычисляются по неполному окну и не выводятся так, будто окно было полным.
Привязка, невозможная на текущем таймфрейме — например, дневная на дневном графике, где она обнулялась бы каждый бар, — фиксируется в журнале Experts и заменяется непрерывным рядом. Название окна индикатора меняется соответственно, поэтому на графике всегда указано, какой ряд показан на самом деле.
Примечания
- Строится в отдельном окне и имеет девять буферов, семь из которых описаны выше.
- Полосы всегда рассчитываются по простой скользящей средней, независимо от метода, выбранного для сигнальной линии. Это соответствует общепринятому подходу для полос на стандартном отклонении.
- Реальный объём доступен только там, где его предоставляет ваш брокер. Тиковый объём используется по умолчанию и работает везде.
- К одному графику можно подключить несколько экземпляров с разными источниками или разными периодами.
- Никаких внешних зависимостей. Все значения рассчитываются внутри индикатора. Он не вызывает другие индикаторы, поэтому нет хендлов, которые могли бы дать сбой, нечего устанавливать дополнительно и нет зависимости от состояния вашей стандартной папки индикаторов.
Чем это является и чем не является
Это инструмент технического анализа и фильтрации рыночных условий. Это не торговая система, он не выдаёт сигналов на покупку или продажу, не даёт инвестиционных рекомендаций и не открывает позиции и не управляет ими.
Он описывает, а не прогнозирует. Там, где на скриншоте объёмный ряд разворачивается раньше цены, это одно окно на одном инструменте, выбранное потому, что оно показательно. Это не доказательство того, что ряд опережает цену; для обоснования такого утверждения потребовалась бы проверка на множестве инструментов и рыночных условий. Никаких заявлений о доходности не делается.
| Другие инструменты этого разработчика Я разрабатываю индикаторы и советники для MT5, уделяя особое внимание чистому, документированному коду без перерисовки: логика на закрытых барах, проверенные буферы и отсутствие зависимостей от других индикаторов. Два из трёх источников опубликованы и отдельно, бесплатно: Anchored Volume Delta with Adaptive Bands и Force Index with Adaptive Volatility Bands. Каждый строит один ряд с полосами, но без классификации режима, и это удобный способ понять, подходит ли вам такой подход, прежде чем покупать этот индикатор. Если нужен только источник «балансовый объём» с классификацией по пяти состояниям, ровно это и делает OBVCD Pro как индикатор с одним источником. Посмотреть все опубликованные продукты → Есть вопросы о расчёте, буферах или использовании индикатора в собственном советнике? Напишите мне в личные сообщения — с удовольствием отвечу. |
Разработано и поддерживается Narayanan Mohanan, разработчиком MT5/MQL5.
Если вы заметили ошибку в переводе этой страницы, сообщите мне — я ее исправлю.
