February 4, 2021

Encore plus de fonctions Pine prennent désormais en charge les arguments de longueur dynamiques

En septembre, certaines de nos fonctions Pine intégrées ont commencé à prendre en charge des valeurs dynamiques comme arguments de longueur. Et maintenant, nous avons encore élargi cette liste. Les fonctions suivantes peuvent désormais être utilisées avec des longueurs calculées dynamiquement :

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

Passer les séries comme argument de longueur facilite la création d’indicateurs Pine adaptatifs utilisant des calculs basés sur des périodes variables. Par exemple, le script suivant utilise la fonction intégrée stdev() pour calculer les bandes d’écart type de l’indicateur VWAP. La longueur du calcul stdev() augmente de 1 à chaque barre jusqu’à la réinitialisation de la période 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)

Gardez à l’esprit que ces fonctions doivent être évaluées sur chaque barre, elles doivent donc être utilisées en dehors des boucles ou des blocs « pour » et « si » qui ne sont pas exécutés sur chaque barre. De plus, le fait de passer une série comme longueur d’une fonction intégrée peut parfois provoquer l’erreur « Pine ne peut pas déterminer la longueur de référence d’une série ». Vous pouvez en apprendre plus à ce sujet et sur la manière de contourner l’erreur dans notre centre d’aide.

Vous pouvez lire toutes les mises à jour de Pine dans les notes de publication de notre manuel de l’utilisateur.

Nous espérons que cette nouvelle fonctionnalité que vous avez demandée est utile. Continuez à nous faire part de vos commentaires et suggestions. Nous construisons TradingView pour vous, et nous sommes heureux de savoir ce que vous pensez des mises à jour de notre plateforme.

Look first / Then leap

Ouvrir le graphique