Pine Script™ y los gráficos cada vez se conocen mejor

Jul 12, 2022

Los nuevos módulos integrados en el espacio de nombres del gráfico proporcionan ahora a los scripts más visibilidad sobre las propiedades del gráfico. Con ellos, también introducimos un nuevo tipo de comportamiento para sus scripts de Pine, que les permite recalcular y redibujar sólo en las barras visibles, reajustándose automáticamente cuando los traders se desplazan o hacen zoom en su gráfico.

Propiedades del gráfico

El nuevo chart.bg_color devuelve el color del fondo del gráfico. Puede utilizarlo para adaptar el esquema de colores de su script al contexto del gráfico. Su compañero chart.fg_color devuelve un color que proporcionará un contraste óptimo con el color de fondo del gráfico, sea cual sea.

Otro conjunto de nuevos elementos booleanos permite detectar el tipo de gráfico en el que se está ejecutando el script. Son:

El último devolverá true en todos los tipos de gráficos estándar (los que devuelven un precio de cierre (close) no sintético): barras, velas, velas huecas, columnas, línea, área o línea base.

Barras visibles y recálculo dinámico

Los nuevos build-ins chart.left_visible_bar_time y chart.right_visible_bar_time devuelven la hora (time) de apertura de las barras visibles más a la izquierda y más a la derecha del gráfico. Cuando un trader se desplaza o hace zoom en su gráfico – haciendo que el rango de barras visibles en el gráfico cambie  los scripts que utilicen cualquiera de estos nuevos built-ins se reejecutarán automáticamente para que los cálculos y los visuales puedan adaptarse al nuevo contexto. Esto abre la puerta a toda una nueva variedad de scripts que se ajustan dinámicamente a los cambios en el rango de barras visibles.

Este ejemplo dibuja una flecha desde la apertura (open) de la primera barra visible hasta el cierre (close) de la última, y muestra la ganancia/pérdida de ese rango:

//@version=5
indicator("Chart gain/loss", "", true)

// Save the `open` of the leftmost visible bar.
var float chartOpen = na
if time == chart.left_visible_bar_time
    chartOpen := open
else if time == chart.right_visible_bar_time
    // Run the following code on the chart's rightmost visible bar.
    color arrowColor = close > chartOpen ? color.lime : color.fuchsia
    // Draw arrow once, then modify it.
    var line arrow = line.new(na, na, na, na, xloc.bar_time, extend.none, na, line.style_arrow_right, 3)
    line.set_xy1(arrow, chart.left_visible_bar_time, chartOpen)
    line.set_xy2(arrow, chart.right_visible_bar_time, close)
    line.set_color(arrow, arrowColor)
    // Draw percentage label once, then modify it.
    var label percentage = label.new(na, na, na, xloc.bar_time, yloc.price, #00000000, label.style_label_down, size = size.huge)
    int midTime = int(math.avg(chart.left_visible_bar_time, chart.right_visible_bar_time))
    label.set_xy(percentage, midTime, math.avg(chartOpen, close))
    label.set_text(percentage, str.tostring((close - chartOpen) / chartOpen * 100, format.percent))
    label.set_textcolor(percentage, arrowColor)

Tenga en cuenta que, dado que los scripts que utilizan esta función se reejecutan con más frecuencia que los normales, hay que tener cuidado de utilizar un código eficiente y mantener los cálculos ligeros si se quiere conservar la capacidad de respuesta habitual de los gráficos de TradingView.

Hemos publicado un indicador Chart VWAP como ejemplo de cómo se puede utilizar esta nueva función. Se ancla automáticamente en las barras visibles:

La cuenta de PineCoders también ha publicado una biblioteca VisibleChart para ayudar a los programadores de Pine Script™ a sacar el máximo partido a esta nueva función.

Para mantenerse informado de las nuevas características de Pine Script™, esté atento a las notas de Publicación del Manual de Usuario. La cuenta de PineCoders también difunde actualizaciones desde su Squawk Box en Telegram, su cuenta de Twitter y desde el chat público «Pine Script™ Q&A» en TradingView.

Esperamos que estas características tan solicitadas le resulten útiles. Por favor, siga enviándonos sus comentarios y sugerencias de mejora. Construimos TradingView para usted, y siempre estamos deseando saber de usted.

Look first Then leap

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