Autre solution, que prt puisse gérer des variables paramétrées, avec un paramètre dans le nom de la variable (ex : "variable "), mais ça non plus il ne sait pas faire.
Faut donc tout faire à la main. Donc on peut rien faire de variable. Tant pis.
Code : #
gainT = 0
perteT = 0
p0 = close
p1 = close[1]
if p0 - p1 < 0 then
perteT = perteT + (p1 - p0)
else
gainT = gainT + (p0 - p1)
endif
p2 = close[2]
if p1 - p2 < 0 then
perteT = perteT + (p2 - p1)
else
gainT = gainT + (p2 - p1)
endif
I = (gainT/2) / ( (gainT/2)+(perteT/2) )
Return I
Code : #
hausse=max(0,close[1]-close[2])
baisse=max(0,close[2]-close[1])
// Calcul RSI approximatif
mh=((wilderaverage[p-1](hausse))*(p-1) + max(0,close-close[1])) / p
mb=((wilderaverage[p-1](baisse))*(p-1) + max(0,close[1]-close)) / p
rs=mh/mb
I=100-100/(1+rs)
// Calcul RSI approx sur le High de la dernière bougie
mhh=((wilderaverage[p-1](hausse))*(p-1) + max(0,high-close[1])) / p
mbh=((wilderaverage[p-1](baisse))*(p-1) + max(0,close[1]-high)) / p
rsh=mhh/mbh
IH=100-100/(1+rsh)
// Calcul RSI approx sur le Low de la dernière bougie
mhl=((wilderaverage[p-1](hausse))*(p-1) + max(0,low-close[1])) / p
mbl=((wilderaverage[p-1](baisse))*(p-1) + max(0,close[1]-low)) / p
rsl=mhl/mbl
IL=100-100/(1+rsl)
Return I as "RSI approx", IH as "RSI High", IL as "RSI Low"