Lanzamos Pine Script® en 2013 para proporcionar a nuestros traders un lenguaje de programación que pudieran utilizar para construir sus propios modelos de trading. Desde sus humildes comienzos, cuando lo más importante era calcular y trazar una línea RSI, sus sugerencias nos han ayudado a aumentar constantemente el lenguaje que tanto le gusta. Ahora sus scripts pueden hacer mucho más: mejor backtesting, alertas para bots de trading, mejoras visuales, más flexibilidad con las entradas, una experiencia de edición superior, bibliotecas y estructuras de datos más sofisticadas como matrices y arrays. No bromeábamos cuando le dijimos hace dos años que Pine iba a llegar lejos.
Los objetos de Pine son instancias de los nuevos tipos compuestos definidos por el usuario (UDTs) declarados mediante la palabra clave type. Los programadores experimentados pueden pensar en los UDTs como clases sin métodos.
Ahora, en lugar de utilizar variables independientes como pivotTime y pivotLevel para realizar un seguimiento de los datos del pivote, puede definir un tipo pivotPoint con dos campos para contener esos valores:
type pivotPoint
int openTime
float level
A continuación, puede crear un nuevo objeto de ese tipo utilizando el constructor new():
newPivot = pivotPoint.new(time, high)
Luego haciendo referencia al campo de un objeto utilizando la notación de puntos:
label.new(newPivot.openTime, newPivot.level, str.tostring(newPivot.level), xloc.bar_time)
Las matrices o arrays de objetos también pueden definirse mediante una plantilla de tipos construida con una UDT:
pivotArray = array.new<pivotPoint>()
Los objetos pueden utilizarse en tándem con el resto de características de Pine: puede exportar tipos definidos por el usuario desde bibliotecas, solicitar objetos desde la función request.security(), etc. Una función que antes devolvía una tupla de diez valores, por ejemplo, ahora puede devolver un único objeto que contenga diez campos.
Encontrará un resumen detallado de las nuevas funciones en la página sobre objetos de nuestro Manual del usuario.
Vea los objetos en uso en los siguientes scripts:
Gráfico de electrocardiograma indicador por HeWhoMustNotBeNamed

Biblioteca ZigZag de TradingView, y el indicador ZigZag incorporado que fue reescrito para utilizarlo:

Esperamos que esta función tan solicitada le resulte útil. Por favor, siga enviándonos sus comentarios y sugerencias para mejorar. Construimos TradingView para usted, y siempre estamos deseando saber su opinión.