Теперь в Pine-скриптах вам доступны данные кластерного объёма, что позволит детально изучить поток заявок внутри каждого ценового бара.
Это обновление даёт вам возможность настраивать собственные кластерные индикаторы, извлекать точные показатели объёма и анализировать активность внутри бара без необходимости прибегать к обходным путям с меньшими временными интервалами.
Зачем использовать кластеры в Pine?
Запросы кластера позволяют вам мгновенно получить расширенные данные внутри бара и определить структурно важные уровни потока заявок, такие как:
- Детализированное распределение объёма: точные итоговые значения объёма «покупок» и «продаж» для всего бара и конкретных ценовых уровней.
- Точная дельта объёма: конкретная разница между давлением со стороны покупателей и со стороны продавцов.
- Ключевые уровни аукциона: мгновенный доступ к POC, VAH и VAL бара.
- Дисбаланс: данные о дисбалансе «покупок» и «продаж» на конкретных ценовых уровнях.
Объединив request.footprint() с вашими собственными скриптами, вы сможете автоматически отслеживать подробную информацию о потоке заявок, сохраняя фокус на стратегии и исполнении.
Как работают кластеры и структуры данных
Функция request.footprint() — основной инструмент, используемый для запроса данных кластерного объёма для текущего бара. Когда функция вызывается, она возвращает объект кластера, содержащий всю извлеченную информацию о кластерном объёме для этого конкретного бара.
Информация представлена в виде двух основных структур:
- Объекты кластера: они позволяют перейти к общим показателям бара. Используя функции footprint.*(), вы можете извлечь такие данные, как общий объём покупок, общий объём продаж и дельта объёма.
- Объекты volume_row: они представляют конкретные ценовые уровни внутри кластера, такие как точка контроля (POC) или границы зоны стоимости. Используя функции volume_row.*(), вы можете извлечь ценовые уровни конкретной строки, значения объёма, дельту объёма и случаи дисбаланса.
Обратите внимание: если для бара нет доступных кластерных данных, функция request.footprint() вернёт na.
Убедитесь, что ваш скрипт всегда проверяет, не является ли полученное значение na, прежде чем перейти к извлечению конкретных показателей с помощью функций footprint.*() или volume_row.*().
Пример использования
Ниже представлен скрипт, показывающий, как запросить кластер и перейти к конкретным точкам данных:
//@version=6
indicator("Footprint Data Highlight", overlay = true)
// Request the footprint object for the current bar (100 ticks per row, 70% Value Area)
footprint reqFootprint = request.footprint(100, 70)
// We use a block to ensure we only process data when the footprint is available
if not na(reqFootprint)
// 1. Access overall bar metrics from the `footprint` object
float totalBuyVol = reqFootprint.buy_volume()
float totalSellVol = reqFootprint.sell_volume()
float volumeDelta = reqFootprint.delta()
// 2. Retrieve a specific `volume_row` object (the Point of Control)
volume_row pocRow = reqFootprint.poc()
// 3. Access specific price values from the `volume_row` object
float pocUpperPrice = pocRow.up_price()
float pocLowerPrice = pocRow.down_price()
// --- USING THE VARIABLES ---
// Use Buy/Sell Volume and Delta in a label
if barstate.islast
label.new(bar_index, high,
text = "Buy: " + str.tostring(totalBuyVol, format.volume) +
"\nSell: " + str.tostring(totalSellVol, format.volume) +
"\nDelta: " + str.tostring(volumeDelta, format.volume),
color = color.new(color.blue, 20),
textcolor = color.white,
style = label.style_label_down)
// Use POC prices to highlight the POC area on the chart
linefill.new(
line.new(bar_index, pocUpperPrice, bar_index[1], pocUpperPrice, color = color.orange),
line.new(bar_index, pocLowerPrice, bar_index[1], pocLowerPrice, color = color.orange),
color.new(color.orange, 80))
// Plotting the volume delta on a separate pane (if moved to non-overlay)
// or as a reference value in the Data Window
plot(not na(reqFootprint) ? reqFootprint.total_volume() : na, "Volume Delta", display = display.data_window)
Обратите внимание, что для использования этих функций кластера вам необходима подписка Premium или Ultimate.
Следите за разделом «Информация о релизе» нашего Руководства пользователя, чтобы быть в курсе последних улучшений Pine Script®.
Надеемся, что этот функционал будет вам полезен. Продолжайте делиться с нами обратной связью и предложениями, чтобы вместе мы могли дальше улучшать платформу. Мы разрабатываем TradingView для вас и всегда рады услышать ваше мнение.