Agora você pode usar volume footprints em scripts Pine

Mar 2

Os scripts Pine agora incluem volume footprints, oferecendo acesso direto a dados detalhados de fluxo de ordens em cada barra de preço.

Essa atualização permite criar indicadores footprint personalizados, extrair métricas precisas de volume e analisar a atividade intrabarra sem depender de soluções alternativas em períodos menores.

Por que usar footprints no Pine?

As requisições de footprint permitem acessar instantaneamente dados avançados intrabarra e mapear níveis estruturalmente importantes de fluxo de ordens, como:

  • Divisão granular de volume: Totais exatos de volume de compra (ask) e venda (bid) para toda a barra e em níveis de preço específicos
  • Delta de volume preciso: Diferença exata entre a pressão de compra e de venda
  • Níveis-chave de leilão: Acesso imediato ao Ponto de Controle (POC), Valor Máximo (VAH) e Valor Mínimo (VAL) da barra
  • Desequilíbrios: Dados sobre desequilíbrios de compra e venda em linhas de preço específicas

Ao combinar request.footprint() com seus scripts personalizados, você pode monitorar programaticamente dados detalhados de fluxo de ordens, mantendo o foco na estratégia e execução.

Como footprints e estruturas de dados funcionam

A função request.footprint() é a ferramenta principal para solicitar informações de volume footprint da barra atual. Quando chamada, ela retorna um objeto footprint, que contém todos os dados de footprint recuperados para aquela barra específica.

Os dados são organizados em duas estruturas principais:

  • Objetos Footprint: Permitem acessar métricas gerais da barra. Usando funções footprint.*(), é possível recuperar dados como volume total de compra, volume total de venda e delta de volume.   
  • Objetos Volume_row: Representam linhas de preço específicas dentro do footprint, como o Ponto de Controle (POC) ou os limites da Área de Valor. Com funções volume_row.*(), você pode acessar preços, valores de volume, delta de volume e desequilíbrios de cada linha  

Observação: se não houver dados de footprint disponíveis para uma barra, a função request.footprint() retornará na.

Sempre verifique se o objeto retornado not na antes de tentar extrair métricas usando as funções footprint.*() ou volume_row.*().

Exemplo de uso

Abaixo está um script simplificado demonstrando como solicitar o footprint e acessar seus dados:

//@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)

Lembre-se: para acessar os recursos de footprint, é necessário um plano Premium ou Ultimate.

Para acompanhar as últimas melhorias na experiência do Pine Script®, consulte as Notas de lançamento do Manual do Usuário.

Esperamos que essas funcionalidades sejam úteis. Continue enviando seu feedback e sugestões para que possamos tornar a plataforma cada vez melhor. Construímos o TradingView para você e estamos sempre interessados em ouvir suas ideias.

Equipe TradingView

Look first Then leap

O TradingView é feito para você, então garanta que você está aproveitando ao máximo nossos recursos incríveis