February 4, 2021
Ahora más funciones de Pine admiten argumentos de longitud dinámica

En septiembre, algunas de nuestras funciones integradas de Pine comenzaron a admitir valores dinámicos como argumentos de longitud. Y ahora hemos ampliado esta lista aún más. Las siguientes funciones ahora también se pueden utilizar con longitudes calculadas dinámicamente:

bb()
bbw()
cci()
cmo()
cog()
correlation()
dev()
falling()
mfi()
percentile_linear_interpolation()
percentile_nearest_rank()
percentrank()
rising()
roc()
stdev()
stoch()
variance()
wpr()

Pasar series como argumento de longitud facilita la creación de indicadores Pine adaptativos que utilizan cálculos basados en períodos variables. Por ejemplo, el siguiente script usa la función stdev() incorporada para calcular las bandas de desviación estándar para el indicador VWAP. La duración del cálculo de stdev() aumenta en 1 con cada barra hasta que se restablece el período VWAP:

//@version=4
study(title="VWAP", shorttitle="VWAP", overlay=true)
src = input(title = "Source", type = input.source, defval = hlc3)
t = time("D")
start = na(t[1]) or t > t[1]
sumSrc = src * volume
sumVol = volume
sumSrc := start ? sumSrc : sumSrc + sumSrc[1]
sumVol := start ? sumVol : sumVol + sumVol[1]
vwapValue = sumSrc / sumVol
var barsSinceStart = 0
if start
    barsSinceStart := 0
barsSinceStart := barsSinceStart + 1
stdevLen = bar_index == 0 ? 3000 : barsSinceStart // max_bars_back workaround
vwapStdev = stdev(vwapValue, stdevLen)
plot(vwapValue, title="VWAP", color=color.blue)
upperBand = plot(vwapValue+vwapStdev, title="Upper Band", color=color.green)
lowerBand = plot(vwapValue-vwapStdev, title="Lower Band", color=color.green)
upperBand2 = plot(vwapValue+vwapStdev*2, title="Upper Band 2", color=color.yellow)
lowerBand2 = plot(vwapValue-vwapStdev*2, title="Lower Band 2", color=color.yellow)
fill(upperBand2, lowerBand2, color=color.yellow, transp=95)

Tenga en cuenta que estas funciones requieren evaluación en cada barra, por lo que deben usarse fuera de los bucles `for` o de los bloques` if` que no se ejecutan en cada barra. Además, pasar una serie como la longitud de una función incorporada a veces puede causar el error `Pine no puede determinar la longitud de referencia de una serie`. Puede obtener más información al respecto y cómo solucionar el error en nuestro Centro de ayuda.

Lea sobre todas las actualizaciones de Pine en las Notas de la versión de nuestro Manual del usuario.

Esperamos que esta nueva función que solicitó sea de su utilidad. Continúe enviándonos sus comentarios y sugerencias. Estamos creando TradingView para usted y nos complace saber qué piensa sobre las actualizaciones de nuestra plataforma.

La manera más rápida de seguir los mercados

Abrir gráfico