Bonjour,
J’ai programmé un ” RSIperso ” (code plus bas).
Je veux l’appeler dans un autre indicateur en écrivant :
monRSIperso,maEMA50 = Call “RSIperso”[RSIperso,EMARSI]
Il m’est demandé de définir RSIperso et EMARSI.
Il me semble pourtant qu’ils sont bien définis dans RSIperso.
Je suis perdu.
Merci de votre aide.
//----------------------------- RSIperso -----------------------
//Calcul des hausses et des baisses
If Close - Close[1] > 0 then
Hausse = Close -Close[1]
Baisse = 0
elsif Close - Close[1] < 0 then
Hausse = 0
Baisse = CLose[1] - Close
else
Hausse = 0
Baisse = 0
endif
//Moyennes des hausses et des baisses
Mh= WilderAverage[n](Hausse)/n
Mb = WilderAverage[n](Baisse)/n
RS = Mh/Mb
RSIperso = 100 - (100/(1+RS))
EMARSI = ExponentialAverage[50](RSIperso)
//Signaux
If RSIperso crosses over EMARSI then
DrawVLine(Barindex)coloured(0,255,0)
elsif RSIperso crosses under EMARSI then
DrawVLine(Barindex)coloured(255,0,0)
endif
return Rsiperso as "RSIperso",EMARSI as "EMARSI"
Bjr,
Quand tu fais monRSIperso,maEMA50 = Call “RSIperso”[…]
entre les crochets tu dois mettre le ou les paramètres d’entrée, pas faire une répétition de la liste de ce qui en sort.
A priori je ne vois que n dans RSIperso qui serait une entrée à définir dans le call? Donc il faut faire, par exemple si n=14:
monRSIperso,maEMA50 = Call “RSIperso”[14]
ou autre exemple avec une variable p=… définie en amont du call, plutôt qu’un 14 :
monRSIperso,maEMA50 = Call “RSIperso”[p]
Ref doc: https://www.prorealcode.com/documentation/call/