Unir e anotar: As tabelas Pine Tables agora suportam cabeçalhos e dicas de ferramentas

Mar 18, 2022

Cabeçalhos e mesclagem de células

Agora é possível mesclar várias células em uma tabela para criar cabeçalhos e divisores elegantes. Mas uma célula mesclada não precisa ser um cabeçalho: você pode mesclar células em qualquer direção, desde que a célula resultante não afete nenhuma célula já mesclada, e não vá para fora dos limites da tabela.

Para criar uma célula fundida, use a nova função table.merge_cells(). As regras são simples. Você precisa passar as coordenadas da primeira e última célula que você deseja fundir. Tudo entre elas será fundido em uma única célula. O tamanho de uma célula fundida é automaticamente determinado pelas dimensões de suas linhas e colunas vizinhas.

No script do exemplo abaixo, você pode ver três células fundidas: a primeira funde todas as células na linha zero e contém “Tabela SMA”, as outras abaixo criam os subtítulos.

//@version=5
indicator("MA Ratings", overlay = true)

TRANSP = 80
TABLE_WIDTH = 6
var CELL_TOOLTIP = "Cell color depends on the SMA direction: green for rising SMAs, red for falling ones"

var smaLengths = array.from(10, 20, 50, 100, 200, 500)

smaValues = array.new_float()
for i = 0 to array.size(smaLengths) - 1
    array.push(smaValues, ta.sma(close, array.get(smaLengths, i)))

var maTable = table.new(position.top_right, TABLE_WIDTH, 4, border_width = 2)

if barstate.isfirst
    headerColor = color.new(color.blue, TRANSP)
    table.cell(maTable, 0, 0, text = "SMA Table", bgcolor = headerColor)
    table.cell(maTable, 0, 1, text = "Short-term", bgcolor = headerColor)
    table.cell(maTable, 2, 1, text = "Long-term", bgcolor = headerColor)
    table.merge_cells(maTable, 0, 0, 5, 0)
    table.merge_cells(maTable, 0, 1, 1, 1)
    table.merge_cells(maTable, 2, 1, 5, 1)

if barstate.islast
    for i = 0 to TABLE_WIDTH - 1
        cellTitle = str.format("SMA {0}", array.get(smaLengths, i))
        cellValue = array.get(smaValues, i)
        cellColor = color.new(array.get(smaValues, i) >= array.get(smaValues[1], i) ? color.green : color.red, TRANSP)
        table.cell(maTable, i, 2, bgcolor = cellColor, text = cellTitle, text_color = color.gray, tooltip = CELL_TOOLTIP)
        table.cell(maTable, i, 3, bgcolor = cellColor, text = str.tostring(cellValue,  format.mintick), tooltip = CELL_TOOLTIP)

Dicas de ferramentas

A segunda melhoria das tabelas são as dicas de ferramentas. As dicas de ferramentas são janelas de texto flutuantes que aparecem quando você passa o mouse sobre a célula de uma tabela. Elas são úteis para fornecer informações sobre o conteúdo de uma célula sem sobrecarregar a tabela.

Para criar uma célula com uma dica de ferramenta, basta passar uma string para o novo argumento de dica de ferramenta da função table.cell(). Veja as dicas de ferramentas em ação em nosso script modelo, onde usamos tooltip = CELL_TOOLTIP na chamada table.cell() das duas últimas linhas. As dicas de ferramentas serão semelhantes a esta:

Para ficar informado sobre as novas funcionalidades do Pine, fique de olho nas Notas de Lançamento de nosso Manual do Usuário do Pine. A conta do PineCoders também transmite atualizações de sua Squawk Box no Telegrama, de sua conta no Twitter e do chat público do Pine Script no TradingView.

Esperamos que você considere útil este recurso tão solicitado. Por favor, continue nos enviando seus comentários e sugestões para melhorias. Nós construímos o TradingView para você, e estamos sempre interessados em ouvir sua opinião.

Look first Then leap

TradingView is built for you, so make sure you're getting the most of our awesome features
Launch Chart