La sintaxis de métodos llega a Pine Script®

Mar 7, 2023

La notación de puntos utilizada para los métodos de extensión en otros lenguajes está ahora disponible en Pine Script®. Los programadores pueden utilizar esta nueva sintaxis de dos formas diferentes:

  • Con métodos definidos por el usuario, que son funciones especiales declaradas con la nueva palabra clave method.
  • Con funciones incorporadas de espacios de nombres de tipos array, box, label, line, linefill, matrix y table cuando el primer parámetro es el ID de un objeto de ese tipo.

Veamos este sencillo ejemplo en el que calculamos la media del mínimo de una ventana móvil de barras alcistas:

//@version=5
indicator("Long stop", "", true)
int lengthInput = input(20)
var pricesArray = array.new<float>(lengthInput)

method maintainQueue(array<float> srcArray, float value) =>
    // Append a new value to the end of the array.
    srcArray.push(value)
    // Remove the oldest value from the beginning of the array.
    srcArray.shift()

if close > open
    // Track the `low` values of up bars.
    pricesArray.maintainQueue(low)

plot(pricesArray.avg(), "Stop")

Nuestro método maintainQueue()es muy similar a una función normal y puede utilizarse como tal, pero la palabra clave method también permite utilizarlo con la notación de punto después de una variable del tipo del primer parámetro. Cuando lo hacemos así, omitimos el primer argumento de la llamada al método, como en pricesArray.maintainQueue(low).

Observe también cómo utilizamos la notación de método con funciones del espacio de nombres array en llamadas como srcArray.push()y srcArray.shift()dentro del código del método, y pricesArray.avg()en la última línea del ejemplo.

Encontrará más información sobre esta nueva función en la página sobre métodos de nuestro Manual del usuario.

Para ver los métodos en acción, puede ver el código actualizado de nuestro indicador incorporado Gaps, que utiliza métodos incorporados y definidos por el usuario para resaltar los gaps de los gráficos con cuadros:

Además, hemos actualizado el código de nuestra biblioteca ZigZag para utilizar métodos incorporados y definidos por el usuario:

ZigZag por TradingView

Vea los objetos y métodos utilizados en los siguientes scripts por algunos de nuestros PineCoders:

Flare por Fikira

Recursive Zigzag [Trendoscope] por HeWhoMustNotBeNamed

Recursive Auto-Pitchfork [Trendoscope] por HeWhoMustNotBeNamed

Para mantenerse informado de las nuevas funciones de Pine Script®, no pierda de vista las Notas de publicación del Manual del usuario. La cuenta de PineCoders también publica actualizaciones desde su Squawk Box en Telegram, su cuenta de Twitter y desde el chat público de Pine Script® Q&A en TradingView.

Esperamos que esta función tan solicitada le resulte útil. Por favor, siga enviándonos sus comentarios y sugerencias para seguir mejorando. Construimos TradingView para usted, y siempre estamos contentos de 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