Pine ahora admite los rellenos entre los dibujos de líneas

Jan 11, 2022

A los programadores de Pine les encanta tener diferentes opciones a la hora de mostrar los cálculos de los indicadores en los gráficos, y tienen toda la razón! La forma de presentar la información es tan importante como la propia información, ya que un buen diseño visual facilita el uso de los indicadores.

Nuestra última novedad de Pine le permite rellenar el espacio entre dos dibujos de líneas mediante un nuevo tipo de dibujo «relleno de líneas» y las funciones que lo acompañan.

Los principios son básicos: para rellenar el espacio entre dos dibujos de líneas, llame a la función linefill.new() con su ID y un color. Cualquier par de líneas solamente puede tener un relleno entre ellas, por lo que las próximas llamadas a linefill.new() en el mismo par de líneas, sustituirán el relleno anterior por uno nuevo.

El comportamiento de los rellenos de líneas dependen de las líneas a las que se adjuntan. Si ambas líneas se extienden en la misma dirección, el relleno de línea seguirá sus extensiones, tal y como puede ver en el gráfico del siguiente script.

En el ejemplo siguiente, nuestro indicador dibuja dos líneas que conectan los dos últimos máximos y mínimos del gráfico. Extenderemos las líneas hacia la derecha para proyectar el movimiento a corto plazo del gráfico, y rellenaremos el espacio entre ellas para mejorar la visibilidad del canal que crean las líneas:

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

// Índices de barras de los puntos de máximos o mínimos
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
// Valores del precio de los puntos de máximos o mínimos
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
    // Líneas
    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)
    // Rellenar
    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))

Puede obtener más información sobre la función de relleno de líneas en nuestro Manual de referencia: simplemente introduzca «linefill.new» en el campo de búsqueda para que aparezcan todas las funciones relacionadas. O, si prefiere aprender de los grandes, los siguientes ejemplos muestran cómo algunos de nuestros PineCoders han utilizado los rellenos de línea:

Gann Fan por LonesomeThe Blue

Average Lines por fikira

Auto Fib Time Zones and Trend-Based Fib Time by DGT (…por dgtrd)

Para estar informado de las nuevas características de Pine, vaya siguiendo las Notas de la versión de nuestro Manual de Usuario. Nuestros PineCoders también transmiten actualizaciones desde el canal Squawk Box Telegram, Twitter, y desde el chat público de Pine Script en TradingView.

Esperamos que estas características tan solicitadas le resulten útiles. Por favor, siga enviando sus comentarios y sugerencias para mejorar. Construimos TradingView para usted, y siempre estamos dispuestos a escucharle.

Look first Then leap

TradingView está hecho para usted, asegúrese de aprovechar al máximo nuestras increíbles funciones
Abrir gráfico