La fonction DONCHIAN retourne 7 valeurs mais votre code en a besoin de 8
Forums › ProRealTime forum Français › Support ProScreener › La fonction DONCHIAN retourne 7 valeurs mais votre code en a besoin de 8
- This topic has 1 reply, 2 voices, and was last updated 1 year ago by JC_Bywan.
-
-
08/23/2023 at 6:47 PM #219589
Bonjour a tous,
Je suis nouveau, fraichement arrivé sur ce forum. J’essai de monter un screener avec la fonction DONCHIAN . Mais je tombe sur un message d’erreur suivant : “” La fonction DONCHIAN retourne 7 valeurs mais votre code en a besoin de 8. “” Quand je valide la configuration de mon screnner.
Ne connaissant pas grand chose à la programmation, mais j’apprend petit à petit, j’aimerai savoir si une personne peut me donner des précision sur les éventuels modifications à faire, pour que la fonction DONCHIAN de ce code soient valider par le screener et retirer ce message d’erreur qui n’est pas très précis. J’ai cherché sur le net, et il y a peu de réponse à ce sujet.
Je vous remercie d’avance pour votre aide et vous souhaite une bonne journée à tous.
Merci.
Cordialement.
Florian.
//PRC_RSI Donchian R1 Alerts | indicator
//21.10.2022
//Nicolas @ http://www.prorealcode.com
//Sharing ProRealTime knowledge
//converted from pinescript// — settings
rsilength = 14 //RSI Period Length
rsios =30 //RSI Oversold Level
rsiob = 70 //RSI Overbought Level
donlength = 28 //Donchian Channel Lookback Length
uSmooth = 0 //Apply MA Smoothing to RSI
matype = 7 // MA type (0=SMA,1=EMA,2=WMA,3=Wilder,4=Triangular,5=End point,6=Time series,7 = Hull (PRT v11 only),8 = ZeroLag (PRT v11 only))
malen =8 //RSI MA Smooth – Length
sBars = 0 //Colour Candles?
// — end of settingssrc = customclose
// RSI calc
iRSI = rsi[rsilength](src)// Smooth RSI if selected
if uSmooth then
maseries = average[malen,matype](iRSI)
ELSE
maseries = irsi
endif// Calculate RSI Donchian Channel
lower = lowest[donlength](maseries)
upper = highest[donlength](maseries)
basis = (lower+upper)/2// Look for Touches and Breaks of upper and lower channel
breakAbove = maseries >= upper[1]
breakBelow = maseries <= lower[1]breakAboveB = maseries crosses over basis[1]
breakBelowB = maseries crosses under basis[1]if breakabove then
trend=1
endif
if breakbelow then
trend=-1
endif
if breakaboveb or breakbelowb then
trend=0
endifif not sbars then
if trend = 1 then
BACKGROUNDCOLOR (“green”,50)
elsif trend = -1 then
BACKGROUNDCOLOR (“red”,50)
endif
endifcolorbetween(upper,lower,”blue”,95)
if sbars then
if trend =1 then
drawcandle(open,high,low,close) coloured(“lime”)
elsif trend=-1 then
drawcandle(open,high,low,close) coloured(“pink”)
endif
endifreturn maseries coloured(“dodgerred”) style(line,3) as “RSI curve”,upper coloured(“WHITE”) as “Upper DC Band”, lower coloured(“WHITE”) as “Lower DC Band”, basis coloured(“white”) style(line,3) as “DC Mid-Line”,50 style(dottedline) as “RSI Centre”,rsios style(dottedline1) coloured(“navy”) as “RSI lower boundary” , rsiob style(dottedline1) coloured(“navy”) as “RSI upper boundary”
08/24/2023 at 6:07 AM #219601Bonjour,
là c’est le code de l’indicateur (se termine par “return” qui retourne 7 valeurs) qui fonctionne correctement tout seul, mais tu as un message d’erreur dans un screener que tu programmes et qui fait appel à cet indicateur?
Dans ce cas c’est très probablement dans le screener qu’est le problème, pas dans l’indicateur, et a priori si tu postes le code de ton screener en l’état, on devrait y voir une ligne où tu as fais un call, et le nombre de variables appelées par le call avant le signe = serait de 8 là où il en aurait fallu 7
-
AuthorPosts
Find exclusive trading pro-tools on