O Pine agora suporta preenchimentos entre linhas desenhadas

Jan 11, 2022

Os desenvolvedores da Pine adoram ter diferentes opções ao exibir os cálculos dos indicadores nos gráficos, e com razão. Como apresentamos a informação é tão importante quanto a própria informação, já que um bom design visual facilita a utilização dos indicadores.

Nossa mais nova adição à caixa de ferramentas Pine permite preencher o espaço entre duas linhas desenhadas usando um novo tipo de desenho “linefill” e suas funções adicionais.

O básico é simples: para preencher o espaço entre duas linhas desenhadas, chame a função linefill.new() com sua identificação e uma cor. Qualquer par de duas linhas pode ter apenas um linefill entre elas, portanto chamadas sucessivas para linefill.new() no mesmo par de linhas substituirão o preenchimento anterior por um novo.

O comportamento dos linefill.linefill depende das linhas às quais eles estão ligados. Se ambas as linhas se estenderem na mesma direção, o linefill seguirá suas extensões, como pode ser visto na figura a seguir do script.

No exemplo abaixo, nosso indicador desenha duas linhas conectando os dois últimos pontos de pivô de alta e baixa do gráfico. Nós estendemos as linhas à direita para projetar o movimento de curto prazo do gráfico e preencher o espaço entre elas para aumentar a visibilidade do canal que as linhas criam:

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

LEN_LEFT = 15
LEN_RIGHT = 5
pH = ta.pivothigh(LEN_LEFT, LEN_RIGHT)
pL = ta.pivotlow(LEN_LEFT, LEN_RIGHT)

// Bar indices of pivot points
pH_x1 = ta.valuewhen(pH, bar_index, 1) - LEN_RIGHT
pH_x2 = ta.valuewhen(pH, bar_index, 0) - LEN_RIGHT
pL_x1 = ta.valuewhen(pL, bar_index, 1) - LEN_RIGHT
pL_x2 = ta.valuewhen(pL, bar_index, 0) - LEN_RIGHT
// Price values of pivot points
pH_y1 = ta.valuewhen(pH, pH, 1)
pH_y2 = ta.valuewhen(pH, pH, 0)
pL_y1 = ta.valuewhen(pL, pL, 1)
pL_y2 = ta.valuewhen(pL, pL, 0)

if barstate.islastconfirmedhistory
    // Lines
    lH = line.new(pH_x1, pH_y1, pH_x2, pH_y2, extend = extend.right)
    lL = line.new(pL_x1, pL_y1, pL_x2, pL_y2, extend = extend.right)
    // Fill
    fillColor = switch
        pH_y2 > pH_y1 and pL_y2 > pL_y1 => color.green
        pH_y2 < pH_y1 and pL_y2 < pL_y1 => color.red
        => color.silver
    linefill.new(lH, lL, color.new(fillColor, 90))

Você pode saber mais sobre a função linefill em nosso Manual de Referência: basta digitar “linefill” no campo de busca para acessar todas as funções relacionadas. Ou, se você preferir aprender com os melhores, os exemplos a seguir mostram como alguns de nossos PineCoders utilizaram o linefill:

Leque de Gann de LonesomeThe Blue

Linhas Médias por fikira

Zonas de Tempo de Fib Automáticas e Tempo de Fib Baseados em Tendências por DGT (…por dgtrd)

Para se manter informado sobre as novas funções do Pine, fique de olho nas notas de Lançamento de nosso Manual do Usuário. Nossos PineCoders também transmitem atualizações no canal Squawk Box Telegram, Twitter, e no chat público do Pine Script no TradingView.

Esperamos que você considere úteis estes recursos muito pedidos. Por favor, continue nos dando seu feedback e sugestões para melhorias. Nós construímos o TradingView para você, e estamos sempre interessados em ouvir você.

Look first Then leap

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