
Объемный индикатор направления движения «OVR — On Balance Volume Reflex» (On Balance Volume Reflex) разработан на языке QLUA для терминала QUIK (КВИК) Версии от 8.5 и выше

Индикатор «OBV_Reflex_DTS — On Balance Volume Reflex» (On Balance Volume Reflex)
Индикатор строит накопительную линию OVR, которая рассчитывается на основе объема и направления изменения цены за выбранный период сравнения. По своей идее индикатор близок к семейству объемных индикаторов, таких как OBV, но использует не простое сравнение текущей цены с предыдущей свечой, а сравнение цены с ценой несколько баров назад.
Также в индикаторе предусмотрен дополнительный режим расчета по открытому интересу через параметр NUMCONTRACTS терминала QUIK. Этот режим может быть полезен для фьючерсов и других инструментов, где открытый интерес доступен в торговом терминале.
В индикаторе предусмотрено несколько вариантов отображения:
- OVR_UP — цветное отображение OVR выше сигнальной линии, зеленый цвет;
- OVR_DOWN — цветное отображение OVR ниже сигнальной линии, красный цвет;
- OVR_FLAT — нейтральное отображение OVR, черный цвет;
- OVR_BASE — основная одноцветная синяя линия price-based OVR;
- OVR_OI_BASE — линия OVR по открытому интересу;
- OI_SIGNAL — сигнальная SMA от OVR по открытому интересу;
- SIGNAL — сигнальная SMA от price-based OVR;
- ZERO_LINE — нулевая линия.
Идея индикатора и связь с OBV
Классический индикатор OBV, или On-Balance Volume, был популяризирован Джозефом Гранвиллом. Его идея заключается в том, что объем часто может опережать цену. Если цена закрывается выше предыдущего значения, объем прибавляется к линии OBV. Если цена закрывается ниже, объем вычитается. В результате получается накопительная линия, которая показывает, как объем “перетекает” в сторону покупателей или продавцов.
Индикатор OBV_Reflex_DTS использует похожую накопительную идею, но делает расчет более гибким. Вместо сравнения только с предыдущей свечой он сравнивает текущую цену с ценой за выбранное количество баров назад. Этот параметр называется lookBackLength.
Например, если lookBackLength = 4, индикатор сравнивает текущую цену с ценой 4 свечи назад. Если текущая цена выше, объем текущей свечи прибавляется к накопительной линии. Если ниже — вычитается. Если цена не изменилась, значение не получает направленного объема.
Такой подход делает индикатор менее чувствительным к случайным колебаниям одной свечи. Он оценивает не мгновенное изменение, а направление цены за небольшой участок истории. Поэтому его можно воспринимать как объемный индикатор с “рефлексивным” сравнением цены относительно прошлого значения.
Описание индикатора OBV_Reflex_DTS
Основная линия индикатора называется price-based OVR. Она рассчитывается по выбранной цене и объему свечи. В настройках можно выбрать, какую цену использовать для сравнения: Open, High, Low, Close, Median, Typical или Weighted.
Если выбранная цена стала выше, чем была lookBackLength баров назад, объем текущей свечи прибавляется к OVR. Если выбранная цена стала ниже, объем вычитается. Если цена не изменилась, значение OVR остается без направленного изменения.
После расчета основной линии строится сигнальная линия SIGNAL. Она представляет собой простую скользящую среднюю от OVR за период signalLength. Сравнение OVR с этой сигнальной линией позволяет визуально оценивать, находится ли объемная динамика выше или ниже своего среднего значения.
Если OVR выше сигнальной линии, цветное отображение может показывать зеленую линию. Если OVR ниже сигнальной линии — красную. Если сигнальной линии еще нет или значения равны, используется нейтральное состояние.
Дополнительный режим по открытому интересу
В индикаторе есть отдельный расчет OVR по открытому интересу. Он использует параметр NUMCONTRACTS из QUIK.

Открытый интерес показывает количество открытых контрактов по инструменту. Этот показатель особенно важен для срочного рынка, например для фьючерсов. Рост открытого интереса может говорить о появлении новых позиций, а снижение — о закрытии старых.
В режиме OI индикатор смотрит, как изменился открытый интерес:
- если открытый интерес вырос, объем текущей свечи прибавляется к OI OVR;
- если открытый интерес снизился, объем текущей свечи вычитается из OI OVR;
- если открытый интерес не изменился, значение остается без направленного изменения.
Важно учитывать, что этот расчет зависит от доступности параметра NUMCONTRACTS в терминале QUIK. Если по инструменту открытый интерес не передается, линия OI OVR может не отображаться или оставаться без обновления.
В коде индикатора OI-расчет выполняется по текущему онлайн-значению и фактически обновляется на последней свече графика.
Формула расчета индикатора OVR
Сначала индикатор получает выбранную цену свечи:
O — Open, цена открытия
H — High, максимум свечи
L — Low, минимум свечи
C — Close, цена закрытия
M — Median, средняя цена: (High + Low) / 2
T — Typical, типичная цена: (High + Low + Close) / 3
W — Weighted, взвешенная цена: (Open + High + Low + Close) / 4
Далее определяется знак изменения цены:
PriceChangeSign = Sign(Price[index] - Price[index - lookBackLength])
где:
- 1 — текущая цена выше цены в прошлом;
- -1 — текущая цена ниже цены в прошлом;
- 0 — цена не изменилась.
Основная формула OVR:
OVR = OVR[1] + PriceChangeSign * Volume
где:
- OVR — текущее значение объемной линии;
- OVR[1] — предыдущее значение OVR;
- Volume — объем текущей свечи;
- lookBackLength — период сравнения цены.
Сигнальная линия:
Signal = SMA(OVR, signalLength)
Формула расчета OVR по открытому интересу
Определяется знак изменения открытого интереса:
OISign = Sign(OpenInterest - OpenInterest[1])
Расчет OI OVR:
OI_OVR = OI_OVR[1] + OISign * Volume
Сигнальная линия по открытому интересу:
OI_SIGNAL = SMA(OI_OVR, signalLength)
Этот режим позволяет оценивать не только движение цены с объемом, но и изменение открытых позиций. Для фьючерсов такая информация может быть полезной, потому что рост цены на фоне роста открытого интереса и рост цены на фоне падения открытого интереса могут иметь разный смысл.
Применение индикатора OBV_Reflex_DTS в торговле

1. Подтверждение направления цены объемом
Основная идея индикатора — проверить, поддерживается ли движение цены объемом. Если цена растет относительно выбранного периода сравнения, а OVR также растет, это может говорить о том, что движение сопровождается положительным объемным потоком.
Если цена снижается и OVR падает, это может указывать на давление продавцов. Если же цена растет, а OVR не подтверждает движение, стоит быть осторожнее: рост может быть слабым или не поддержан объемом.
2. Сравнение OVR с сигнальной линией
Сигнальная SMA помогает сгладить линию OVR и оценить ее текущее положение относительно среднего значения.
Возможные варианты анализа:
- OVR выше сигнальной линии — объемная динамика может поддерживать покупателей;
- OVR ниже сигнальной линии — объемная динамика может поддерживать продавцов;
- частые пересечения OVR и сигнальной линии — возможен флет или неопределенность.
3. Поиск дивергенций
Как и классический OBV, индикатор OVR можно использовать для поиска расхождений между ценой и объемной линией.
Если цена обновляет максимум, а OVR не обновляет свой максимум, это может говорить о том, что рост теряет поддержку объема. Такая ситуация может предупреждать об ослаблении покупателей.
Если цена обновляет минимум, а OVR уже не снижается так сильно или формирует более высокий минимум, это может указывать на ослабление продавцов.
Дивергенции не являются точным сигналом разворота, но могут быть полезным предупреждением о смене характера движения.
4. Анализ открытого интереса
Для срочного рынка можно включить отображение OVR по открытому интересу и сигнальной линии OI_SIGNAL.
Если цена растет, объем высокий, а открытый интерес также растет, это может говорить о притоке новых участников в движение. Если цена растет, но открытый интерес падает, рост может быть связан не с открытием новых длинных позиций, а с закрытием коротких.
Если цена падает на фоне роста открытого интереса, это может указывать на активное открытие коротких позиций. Если падение идет на фоне снижения открытого интереса, возможно, часть движения связана с закрытием ранее открытых позиций.
Такой анализ требует осторожности, но он может дать трейдеру дополнительный контекст.
5. Фильтрация торговых сигналов
OBV_Reflex_DTS можно использовать как фильтр к основной торговой системе. Например, если стратегия дает сигнал на покупку, можно дополнительно проверить, находится ли OVR выше своей сигнальной линии. Для продаж можно смотреть, находится ли OVR ниже сигнальной линии.
Примеры фильтрации:
- покупки рассматривать увереннее, если OVR выше SIGNAL;
- продажи рассматривать увереннее, если OVR ниже SIGNAL;
- избегать сделок, если OVR часто пересекает SIGNAL без выраженного направления;
- для фьючерсов дополнительно учитывать OI OVR и OI SIGNAL.
Настройки индикатора «OBV_Reflex_DTS»

В индикаторе доступны следующие настройки.
1. lookBackLength — период сравнения цены.
Параметр определяет, с какой прошлой свечой сравнивается текущая цена. Чем меньше значение, тем быстрее индикатор реагирует на изменение цены. Чем больше значение, тем более широкое движение учитывается при определении направления.
2. signalLength — период сигнальной SMA от OVR.
Чем меньше период сигнальной линии, тем быстрее она реагирует на изменения OVR. Чем больше период, тем сильнее сглаживание.
3. price — тип цены для расчета price-based OVR.
Доступные значения:
— O — Open (открытия свечи);
— H — High (максимум свечи);
— L — Low (минимум свечи);
— C — Close (закрытие свечи).
— M — Median (медианная) ((High + Low) / 2).
— T — Typical (типичная) ((High + Low + Close) / 3).
— W — Weighted (взвешенная) ((Open + High + Low + Close) / 4).
Чаще всего для расчета применяется цена закрытия, так как она отражает итоговое значение свечи.
4. showColorOVR — отображение цветной price-based OVR. 1 — показывать цветную price-based OVR, 0 — скрыть.
5. showBaseOVR — отображение основной одноцветной синей линии price-based OVR. 1 — показывать одноцветную синюю price-based OVR, 0 — скрыть.
6. showOIOVR — отображение OVR по открытому интересу. 1 — показывать OVR по открытому интересу (строится только с места запуска, не рисует по истории, т.к. нет данных), 0 — скрыть.
7. showOISignal — отображение сигнальной SMA от OVR по открытому интересу. 1 — показывать сигнальную SMA по открытому интересу, 0 — скрыть.
8. showSignal — отображение сигнальной SMA от price-based OVR. 1 — показывать сигнальную SMA от price-based OVR, 0 — скрыть.
9. showZeroLine — отображение нулевой линии. 1 — показывать нулевую линию, 0 — скрыть.
Внешний вид линий индикатора
В стандартной версии индикатора используются четыре линии вывода:
- OVR_UP — OVR выше сигнальной линии, зеленый цвет;
- OVR_DOWN — OVR ниже сигнальной линии, красный цвет;
- OVR_FLAT — нейтральное состояние OVR, черный цвет;
- OVR_BASE — основная линия price-based OVR, синий цвет;
- OVR_OI_BASE — OVR по открытому интересу, фиолетовый цвет;
- OI_SIGNAL — сигнальная линия по открытому интересу, оранжевый цвет;
- SIGNAL — сигнальная линия price-based OVR, черный цвет;
- ZERO_LINE — нулевая линия, серый цвет.
Цвет, толщину и тип отображения линий можно изменить в настройках индикатора QUIK.
Установка индикатора «OBV_Reflex_DTS» на график терминале QUIK
Для установки индикатора необходимо добавить Lua-файл индикатора в папку LuaIndicators пользовательских индикаторов QUIK, после чего выбрать его на графике через меню добавления индикаторов.
После установки индикатор можно добавить на график нужного инструмента и настроить период расчета, цену построения и внешний вид линии.


Индикатор не является готовой торговой системой и не гарантирует прибыльных сделок. Его задача — помочь трейдеру оценивать объемную поддержку движения цены и использовать эту информацию как дополнительный фильтр при принятии торговых решений.
Информацию по цене индикатора «OVR — On Balance Volume Reflex для QUIK» можно посмотреть тут!

Вы уже сейчас можете начать изучать Видео курс- роботы в TSLab и научиться самому делать любых роботов!
Можно записаться на следующий поток ОнЛайн курса «Создание роботов в TSLab без программирования», информацию по которому можно посмотреть тут->
Также можете научиться программировать роботов на нашем Видео курсе «Роботы для QUIK на языке Lua»
Если же вам не хочется тратить время на обучение, то вы просто можете выбрать уже готовые роботы из тех, что представлены у нас ДЛЯ TSLab, ДЛЯ QUIK, ДЛЯ MT5, ДЛЯ КРИПТОВАЛЮТЫ!
Также можете посмотреть совершенно бесплатные наработки для МТ4, Квика, МТ5. Данный раздел также постоянно пополняется.
Не откладывайте свой шанс заработать на бирже уже сегодня!





















