Bonjour Nicolas, Bonjour à Tous,
Sur la version V11, j’ai écrit le screener mis en copie – : il repose sur le Disparity Index (Di) : je cherche toutes les valeurs dont les régressions linéaires sont inférieures à la bande de volatilité codifiée myMondi3
Lorsque je lance le screener, par. ex. sur le SRD, j’ai bien des valeurs qui correspondent exactement à la recherche voulue ; mais si je change de valeur , i.e. je clique sur une autre société de la même liste SRD, je reçois un pop-up qui indique “erreur de calcul” et l’indicateur est supprimé du graph –
Ceci est un problème qui me dépasse.
Merci pour votre aide –
// # - Screen par Di
myDISPARITYINDEX, myMonDi, myMonDi2, myMonDi3 = CALL "MonDi"[20, 3]
ignored = myMonDi
ignored = myMonDi2
indicator1 = LinearRegression[4](myDISPARITYINDEX)
indicator2 = LinearRegression[13](myDISPARITYINDEX)
indicator3 = myMonDi3
c1 = (indicator2 < indicator3)
c2 = LinearRegression[13](myDISPARITYINDEX)[1] < LinearRegression[13](myDISPARITYINDEX)[0]
c3 = indicator1 > indicator2
SCREENER[c1 AND c2 AND c3] ((close/DClose(1)-1)*100 AS "% Veille")
Ce n’est pas un problème du screener mais de l’indicateur dans ce cas. Merci de le poster afin de résoudre le problème inhérent à son code.
Merci pour le retour – voilà le code tel que Nicolas a écrit pour la version actuelle – soit la V10.3 –
merci pour tout
// parameters :
//periode = 20
//InpLevelsCoeff = 3
// https://www.prorealcode.com/topic/disparity-index-conversion-depuis-ts2/
Buffer = abs(close-close[1]) / close[period] * 100
Diindex = ((Close-Average[period](close))/Average[period](close))*100
BufferMA = Average[period](buffer)
Up = BufferMA * InpLevelsCoeff
Dn = -BufferMA * InpLevelsCoeff
if Up <=Diindex and Diindex>0 then
r=0
g=102
b=0
elsif Up >Diindex and Diindex>0 then
r=116
g=255
b=91
elsif Dn<=Diindex and Diindex<0 then
r=255
g=110
b=110
elsif Dn>Diindex and Diindex<0 then
r=153
g=0
b=0
endif
RETURN Diindex coloured(r,g,b) style(histogram) as "Disparity Index", 0, Up, Dn
Cela semble être une nouvelle erreur récurrente, je vais la signaler. Il faudrait tester en ajoutant ce test pour vérifier si il y a suffisament d’historique sur le graphique pour permettre le calcul, ainsi plus d’erreurs (logiquement, à tester)
// parameters :
//periode = 20
//InpLevelsCoeff = 3
// https://www.prorealcode.com/topic/disparity-index-conversion-depuis-ts2/
if barindex>period then
Buffer = abs(close-close[1]) / close[period] * 100
Diindex = ((Close-Average[period](close))/Average[period](close))*100
BufferMA = Average[period](buffer)
Up = BufferMA * InpLevelsCoeff
Dn = -BufferMA * InpLevelsCoeff
if Up <=Diindex and Diindex>0 then
r=0
g=102
b=0
elsif Up >Diindex and Diindex>0 then
r=116
g=255
b=91
elsif Dn<=Diindex and Diindex<0 then
r=255
g=110
b=110
elsif Dn>Diindex and Diindex<0 then
r=153
g=0
b=0
endif
endif
RETURN Diindex coloured(r,g,b) style(histogram) as "Disparity Index", 0, Up, Dn
Merci infiniment – toujours aussi remarquable par votre réactivité –
bien reçu – je teste et je reviendrai vers vous –
bon weekend –
Me revoilà – mais ma demande ne presse pas en cette fin de semaine
Le DI n’est plus supprimé mais ce sont les régressions linéaires –
j’ai augmenté l’historique – passé à 10k –
je peux changer de périodes sur une valeur mais lorsque je change de valeur, je reçois 2 pop-up – (pièce jointe) et les rl sont effacées sur la fenêtre de l’indicateur qui lui reste donc en place.
Merci et bon weekend –
Essayons en remplaçant le code du screener comme ceci:
// # - Screen par Di
myDISPARITYINDEX, ignored, ignored, myMonDi3 = CALL "MonDi"[20, 3]
indicator1 = LinearRegression[4](myDISPARITYINDEX)
indicator2 = LinearRegression[13](myDISPARITYINDEX)
indicator3 = myMonDi3
c1 = (indicator2 < indicator3)
c2 = LinearRegression[13](myDISPARITYINDEX)[1] < LinearRegression[13](myDISPARITYINDEX)[0]
c3 = indicator1 > indicator2
SCREENER[c1 AND c2 AND c3] ((close/DClose(1)-1)*100 AS "% Veille")
…….suite
Nicolas, j’ai fait les modifications dans le screener :
paramètre de screen : journalier
Je demande donc le screen en journalier – si je reste sur la même période, je peux passer d’une valeur à une autre sans problème – si je change la période, tout se passe bien sur la même valeur – MAIS : si je veux changer de valeur, il faut que je revienne à l’UT jour sinon j’ai la même erreur
Cela doit provenir du fait que le screeen a été demandé en journalier -?? alors je lance le screen en hebdo –
Tout se passe bien sur la même valeur en passant d’une ut à l’autre –
si je demande une autre valeur, il faut revenir en hebdo sur la valeur en cours d’examen avant de changer de valeur sinon j’ai une erreur sur les RL – ce qui veut dire que pour changer de valeur il faut rester sur la période qui a été indiquée comme critère de screen.
C’est un moindre mal – je peux m’en accommoder maintenant que le sais – c’est peut-être un problème de PRT dû à la jeunesse de la V11 –
Grand merci Nicolas – bon weekend –
Ce comportement est normal, déjà présent dans les anciennes versions. Si on demande au screener de chercher des valeurs en UT journalière, il est logique que lorsque l’on clique sur un des résultats, il ouvre une fenêtre dans cette UT précise 🙂
Concernant l’erreur sur l’indicateur, le code a-t’il été remplacé par celui que j’ai fourni plus haut ? Merci.
Bonjour Nicolas,
Oui toutes les corrections ont été faites sur le Disparity lui même et sur le screener –
Donc tout est parfait – je vous remercie infiniment –
Belle journée