Содержание статьи

Доказательства и область применения

В документации TradingView и Sierra Chart описаны принципы построения профилей и соглашения платформы. Эти источники описывают инструменты, а не подтверждают прибыльность предлагаемых правил принятия и отклонения. TPO — это другое представление на основе времени, и его нельзя использовать вместо него без изменения определения характеристик. [1] [2] [3]

Данные и рынкиДанные о сделках по цене с известной единицей измерения количества или явно указанное приближение бара на более низком таймфрейме. Для воспроизводимости профилей необходимы фиксированные календари сессий, размеры тиков и временные метки отсечки.
Таймфреймы исследованияДля дневных и внутридневных версий требуются отдельные тесты. Длительность временных окон, указанная в этой статье, относится к исследовательским условиям, а не к оптимизированным рекомендациям.
Шесть искусственных ценовых интервалов охватывают99–105. POC — [101,102); выбранное правило даёт[100,103), где находится105 из135 единиц объёма.Открыть иллюстрацию в полном размере
Оригинальная иллюстрация на искусственных данных. Шесть ценовых интервалов охватывают99–105. POC — [101,102); выбранное правило даёт[100,103), где находится105 из135 единиц объёма.

Практическая последовательность действий

Порядок действий: Профиль объёма: POC, зона стоимости и проверяемые правила
Все шаги подробно описаны ниже. На каждом этапе нужно записывать причину отклонения при нехватке данных или невыполнении условий.
  1. Выберите интервал профиляНеобходимо знать как конечные точки, так и календарь сессий.
  2. Суммируйте объём по фиксированным ценовым строкамСогласуйте единицы, начало сетки и ширину интервала, кратную минимальному шагу цены.
  3. Примените выбранный алгоритм зоны стоимостиЗаранее закрепите правила равенства объёмов, целевую долю и условие окончания расширения.
  4. Дождитесь реакции ценыДля закрепления за границей и возврата внутрь нужны разные правила входа и отмены.
  5. Проверьте чувствительность к способу построенияСравните данные о сделках, приблизительные оценки и реалистичные показатели исполнения ордеров.

Профиль объёма учитывает количество по цене, TPO — посещения по времени

POC — это строка цены с наибольшим объемом. Область значений — это смежная область вокруг POC, выбранная с использованием целевой доли и алгоритма расширения; VAH и VAL — это ее верхняя и нижняя границы. Узлы с высоким и низким объемом описывают относительно активные или разреженные области и не обязательно совпадают с краями области значений. TradingView объясняет использование наблюдений на более низких таймфреймах и объемов роста/падения. [1]

TPO отмечает, посещала ли цена уровень внутри временного блока, а не суммирует исполненное количество. [3] Повторные мелкие сделки на уровне дают много временных отметок, но небольшой объём. Поэтому замена объёмного POC на POC по TPO меняет измеряемую величину, даже если подписи похожи.

Ни один из этих способов не раскрывает всей будущей ликвидности. Исторический объем исполненных ордеров отличается от текущего объема неисполненных ордеров, а область с высокой активностью торгов не позволяет определить, кто в настоящее время занимает там позиции. Рассматривайте профиль как зафиксированное распределение для проверки на соответствие последующему поведению цены, а не как карту гарантированной институциональной поддержки.

Зафиксируйте построение интервала и строки цены.

Выберите завершенную предыдущую сессию, диапазон с уже известными обеими конечными точками или фиксированный скользящий интервал. Профиль видимого диапазона изменяется при масштабировании графика и остается инструментом для анализа, если только окно просмотра не преобразовано в явное правило. Развивающийся профиль использует только доступную на данный момент информацию; завершенный профиль конца сессии не может служить ориентиром для открытия сделки ранее в тот же день. [2]

Ширина интервала должна быть кратна размеру тика и зафиксирована до начала эксперимента. Присвойте цену p, используя floor((p−origin)/bin_width). Фиксированная точка отсчета предотвращает смещение границ каждого исторического интервала из-за нового максимума. Используйте согласованные единицы измерения объема сделок и не объединяйте количество монет и долларовый оборот на разных площадках, как если бы это были одни и те же показатели.

Оставляйте пустые строки между торговыми уровнями, поскольку смежность важна для расширения зон стоимости. Удаление строк с нулевым объемом может превратить отдаленные ценовые регионы в кажущиеся смежными ячейки. Укажите, как именно определяется верхняя граница, и используйте ту же систему полуоткрытых интервалов в расчетах, подписях к графикам и размещении ордеров.

При восстановлении объема по цене на основе агрегированных баров необходимо задокументировать приблизительное распределение. Значение OHLCV само по себе не отражает точное распределение исполнений внутри диапазона. Перед тем как считать исторические и текущие сигналы эквивалентными, сравните полученное приближение с торговыми данными на перекрывающейся выборке.

Целевая доля зоны стоимости ещё не задаёт весь алгоритм

Предлагаемая система начинается с POC, сравнивает соседние строки и добавляет соседнюю строку с большим объемом. При равенстве значений выбирается верхняя строка; при равенстве значений POC выбирается самая низкая цена. Расширение продолжается до тех пор, пока охватываемый объем не достигнет или не превысит 70% от общего объема. Это явные правила проведения исследований, а не утверждение о том, что каждая платформа рассчитывает один и тот же регион.

В документации TradingView, рассмотренной в этой статье, описывается остановка до того, как добавленная строка превысит целевой уровень. [1] Поэтому результат может отличаться от приведенного выше соглашения. Воспроизведение конкретной платформы должно соответствовать фактическим правилам этой платформы, включая обработку совпадений, построение строк и версию.

Перед выбором POC требуется непустая гистограмма с положительным общим объемом. Если сессия неполная или пробел в данных нарушает политику качества, возвращается недоступный профиль. Не следует искусственно создавать отсутствующие исполнения или допускать, чтобы пустая гистограмма создавала кажущийся действительным уровень поддержки.

histogram = aggregate_trade_size_by_fixed_price_bin(trades_before_cutoff)
if len(histogram) == 0: return INSUFFICIENT_DATA
if any(not finite(v) or v < 0 for v in histogram): return INVALID_DATA
if sum(histogram) <= 0: return INSUFFICIENT_DATA
poc = first_lowest_price_argmax(histogram)
lo = hi = poc
covered = histogram[poc]
target = 0.70 * sum(histogram)
while covered < target:
    left = histogram[lo-1] if lo > 0 else -1
    right = histogram[hi+1] if hi+1 < len(histogram) else -1
    if right >= left:
        hi += 1; covered += histogram[hi]
    else:
        lo -= 1; covered += histogram[lo]
VAL, VAH = lower_edge(lo), upper_edge(hi)
freeze_profile(cutoff, bin_width, poc, VAL, VAH)

Шесть строк с ценами демонстрируют разницу в принятых стандартах.

Интервалы[99,100), [100,101), [101,102), [102,103), [103,104) и[104,105) содержат объёмы10, 30, 50, 25, 15 и5. Всего135. POC — строка[101,102) с центром101.5. Целевая доля70% соответствует объёму94.5.

Согласно принятой в данной статье системе обозначений, начнем с 50, добавим нижний соседний элемент 30, чтобы получить 80, затем добавим верхний соседний элемент 25, чтобы получить 105. VAL=100 и VAH=103, с фактическим покрытием 105/135, или приблизительно 77.78%. Согласно системе обозначений «остановиться перед превышением», добавление 25 отклоняется, и покрытие остается 80/135, приблизительно 59.26%.

Обе конфигурации могут отображать значение 70%, создавая при этом разные границы. Это не означает, что какой-либо из выходных параметров имеет вероятность разворота, сдерживания или получения прибыли, равную 70%. Процентное значение описывает целевой показатель для исторического объема.

Примером неудачного прорыва является ситуация, когда цена поднимается выше зафиксированного уровня VAH, соответствующего уровню 103, а затем падает до 102.5. Последующая замена развивающегося уровня VAH, который опустился до 102, переписывает исходную точку отсчета. Сохраняйте снимок профиля, прикрепленный к кандидату, вместо того, чтобы сравнивать старые сигналы с вновь построенной областью.

Принятие и отклонение — это разные стратегии.

Предлагаемый вход в покупку после закрепления использует фиксированный профиль прошлой сессии. Нужны два последовательных закрытия выше VAH плюс0.1 ATR. Затем первый ретест в пределах пяти баров должен удержаться выше VAH−0.15 ATR, а цена — восстановиться выше максимума бара ретеста. Вход выполняется на следующем доступном для исполнения событии, стоп ставится ниже минимума ретеста. Пробой без ретеста эта версия пропускает.

Предлагаемый вход в короткую позицию после отвержения требует максимума выше VAH, закрытия обратно ниже границы и последующего пробоя минимума бара отвержения. Стоп находится выше максимума события. Фиксированный POC может быть целью лишь при достаточном отношении оставшейся прибыли к риску после фактического исполнения.

Эти варианты выражают противоположные гипотезы и требуют отдельных конечных автоматов. Фильтр состояния рынка задаётся до события, а не по итоговому результату. Если после сделки на отвержение появляется кандидат на продолжение, зарегистрируйте новое событие по заранее заданному переходу, не переименовывая убыточную сделку.

Предлагаемые настройки включают буферы ATR и пятибарный тайм-аут. Протестируйте небольшой зарегистрированный диапазон, не трогайте итоговую выборку и сообщайте о пропущенных или истекших возможностях. Проскальзывание в области низкого объема может быть особенно важным, но один лишь редкий объем торгов в прошлом не доказывает будущую низкую ликвидность.

Проверьте чувствительность построения до заявления о преимуществе

На сегменте, содержащем оба типа данных, сравните профили, основанные на сделках, с аппроксимациями баров. Измерьте, как часто меняются интервалы POC или границы зон значений, и как часто меняются потенциальные состояния. Два графика, которые выглядят похожими, все же могут генерировать разные стоп-лоссы и точки входа вблизи края.

Протестируйте небольшой предопределенный набор ширин строк, используя те же исходные данные, сессию и правила отсечения. Выбирайте ширину, исходя из экономики тиков, а не корректируйте ее в соответствии с уже видимой поддержкой на графике. Сравните базовую линию, основанную только на цене, с дополнительными расстояниями до POC и границами зон значений, сохраняя при этом фиксированное исполнение.

Отчитайте долю случаев без доступного профиля, неисполненные ордера, спред, проскальзывание, чистое математическое ожидание и просадку. Правильная гистограмма проверяет расчёт, но не стратегию. Вывод должен показывать, сохраняется ли польза признака при реалистичном исполнении и разумных вариантах построения, в том числе когда измеримой пользы нет.

Частые ошибки

Использовать итоговый профиль в более ранний момент той же сессии

В завершенное распределение включены исполнения, которые не были совершены на момент принятия решения.

Считать все зоны стоимости70% одинаковыми

Разные правила расширения и остановки могут давать существенно разные границы.

Приравнивать исторический объём к ликвидности ожидающих заявок

Совершённые сделки не показывают весь текущий стакан ожидающих заявок.

Список проверки перед использованием метода

Отмечайте пункты после проверки на своих данных. Прогресс сохраняется в этом браузере и не подтверждает прибыльность стратегии.

0/8 пунктов

Частые вопросы

Совпадает ли профиль объёма с TPO?

Нет. Профиль объёма суммирует исполненное количество по цене, а TPO отмечает посещение ценового уровня в каждом временном блоке.

Означает ли зона стоимости70% вероятность возврата цены в неё70%?

Нет. Это заданная доля исторического объёма при построении профиля. Её связь с будущим поведением цены нужно проверять.

Источники исследования

Каждый источник подтверждает указанное рядом определение или доказательство. Псевдокод, искусственные примеры и предлагаемые параметры требуют отдельной проверки.

  1. Volume profile indicators: basic conceptsTradingView. POC, область значений, входные данные для более низких временных интервалов и документированная система расширения. Проверено: .
  2. Volume By PriceSierra Chart. Настройка профиля, объем по цене и формирующиеся базовые уровни. Проверено: .
  3. Time price opportunity charts explainedTradingView. Посещения ценовых уровней в блоках времени TPO и отличие от гистограммы объёма. Проверено: .

Связанные методы

Примечание о рисках

Материал предназначен для обучения и планирования исследований, а не является финансовой рекомендацией. Backtest моделирует прошлые данные, не гарантирует будущую доходность и не совершает реальные сделки. Методы библиотеки не обязательно реализованы в приложении. См. методологию и учебный центр.

Проверьте правила, прежде чем рисковать реальным капиталом

Проверьте возможности приложения, данные и каждую смоделированную сделку; сложные детекторы могут потребовать отдельной реализации.

Скачать Backtest в App Store