Ajout de condition pour indicateur Divergence RSI
Forums › ProRealTime forum Français › Support ProBuilder › Ajout de condition pour indicateur Divergence RSI
- This topic has 47 replies, 5 voices, and was last updated 1 year ago by JC_Bywan.
Tagged: divergences
-
-
03/24/2023 at 7:13 PM #212082
Effectivement, en réactivant “and (lastobbar-firstobbar)>=minimalObBars” ça m’enlève pas mal d’erreurs. merci
Par contre c’est la seule fonction qui était désactivée dans le code.
J’ai beau farfouiller, je ne trouve pas d’où provient le reste des erreurs en copie d’écran.
Je souhaiterais également que les divergences soit affichées pendant 5 clôtures (paramètre modifiable) après validation de la cassure du niveau “noLowerThan” pour une divergence baissière et le niveau “noHigherThan” pour une divergence haussière.
Je joint le code du screener
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159//PRC_AnotherRSIdivergences | indicator//25.02.2019//Nicolas @ www.prorealcode.com//Sharing ProRealTime knowledge// --- paramètres modifiablesRSIp=14 //RSI periodeobLevel=70 //Niveau surachatosLevel=30 //Niveau surventeminimalObBars=1 //Barres minimales zone survente ou surachatminBarBetween = 6 //Nbr mini de barres divergencemaxBarBetween = 26 //Nbr maxi de barres divergencenoLowerThan = 59 //Bruit div baissièrenoHigherThan = 41 //Bruit div haussière// --- end of settingsonce maxrsi1 = 0once minrsi1 = 100irsi = rsi[RSIp]ob = irsi>=obLevelos = irsi<=osLeveldivbuy = 0divsell = 0//--Initialisation de recherche de divergence baissière--if irsi < noLowerThan and BearDiv = 0 thenmaxrsi1 = 0endif//Identification conditions de divergence baissièreif ob thenif ob[1]=0 thenfirstobbar = barindex-1endif//recherche 1er sommetif irsi > maxrsi1 thenmaxrsi1=irsimaxprice1=highmaxclose1=closemaxrsibar1=barindexminrsi12=maxrsi1maxrsi2=0endifif maxrsi1>0 thenlastobbar = barindexendifEndif//recherche du creuxif irsi < maxrsi1 and BearDiv = 0 thenminrsi12=min(minrsi12,irsi)If minrsi12<>minrsi12[1] thenminprice12=lowminclose12=closeminrsibar12=barindexmaxrsi2=minrsi12endifendif//recheche 2ème sommetif irsi > minrsi12 thenmaxrsi2=max(maxrsi2,irsi)If maxrsi2<>maxrsi2[1] thenmaxprice2=highmaxclose2=closemaxrsibar2=barindexendifendif//Validation des conditions divergence baissièreIf maxrsi1 > 0 thenbarcount=maxrsibar2-maxrsibar1BearDiv = (maxprice2>maxprice1 or maxclose2>maxclose1) and maxrsi2<maxrsi1 and barcount>=minbarbetween and barcount<=maxbarbetween and maxrsi2>minrsi12 and (lastobbar-firstobbar)>=minimalObBarsif BearDiv and irsi < maxrsi2 thenRSISellLevel=minrsi12if irsi<minrsi12 thendivsell = 20 // Divergence baissière activéemaxrsi1 = 0 // Reset, les div ne se suivent pasBearDiv = 0endifif (Barindex-maxrsibar2)>12 then //Invalidation divergence si cassure du bruit > 12 bougiesmaxrsi1 = 0 // Reset, les div ne se suivent pasBearDiv = 0endifendifEndif//--Initialisation de recherche de divergence haussière--if irsi > noHigherThan and BullDiv = 0 thenminrsi1 = 100endif//Identification conditions de divergence haussièreif os thenif os[1]=0 thenfirstosbar = barindex-1endif//recherche 1er creuxif irsi < minrsi1 thenminrsi1=irsiminprice1=lowminclose1=closeminrsibar1=barindexmaxrsi12=minrsi1minrsi2=100endifif minrsi1<100 thenlastosbar = barindexendifEndif//recherche du sommetif irsi > minrsi1 and BullDiv = 0 thenmaxrsi12=max(maxrsi12,irsi)If maxrsi12<>maxrsi12[1] thenmaxprice12=highmaxclose12=closemaxrsibar12=barindexminrsi2=maxrsi12endifendif//recherche 2ème creuxif irsi < maxrsi12 thenminrsi2=min(minrsi2,irsi)If minrsi2<>minrsi2[1] thenminprice2=lowminclose2=closeminrsibar2=barindexendifendif//Validation des conditions divergence haussièreIf minrsi1 < 100 thenbarcount=minrsibar2-minrsibar1BullDiv = (minprice2<minprice1 or minclose2<minclose1) and minrsi2>minrsi1 and barcount>=minbarbetween and barcount<=maxbarbetween and minrsi2 < maxrsi12 and (lastosbar-firstosbar)>=minimalObBarsif BullDiv and irsi > minrsi2 thenRSIBuyLevel=maxrsi12if irsi > maxrsi12 thendivbuy = 20 // Divergence baissière activéeminrsi1 = 100 //Reset, les div ne se suivent pasBullDiv = 0endifif (Barindex - minrsibar2)>12 then //Invalidation divergence si cassure du bruit > 12 bougiesminrsi1 = 100 //Reset, les div ne se suivent pasBullDiv = 0endifendifEndifscreener[divbuy or divsell](max(divbuy,divsell))à l’heure actuelle
03/24/2023 at 7:15 PM #212084Je ne comprends pas ce que tu veux dire, les valeurs divbuy et divsell sont à 20
03/27/2023 at 5:07 PM #212240Effectivement, en réactivant “and (lastobbar-firstobbar)>=minimalObBars” ça m’enlève pas mal d’erreurs. merci Par contre c’est la seule fonction qui était désactivée dans le code. J’ai beau farfouiller, je ne trouve pas d’où provient le reste des erreurs en copie d’écran.
Oui, au lieu de mettre // devant la ligne10 parce que minimalObBars ne servait pas, tu peux réactiver ce morceau (en supposant qu’il fasse qq chose que tu attends du code, pas juste comme ça sans savoir si l’effet de cet ajoût est désiré ou pas) et comme minimalObBars devient utilisé, l’erreur s’en va.
Mais la suggestion de base de chercher ce qui est défini une fois sans jouer de rôle dans le code reste valable pour les autres erreurs. Donc si on prend la suivante, c’est minprice12, on cherche, on voit que c’est en ligne 54 seulement et pas utilisé ailleurs, donc:
- soit on le vire avec // en début de ligne pour que l’erreur s’en aille,
- soit on lui trouve un usage comme tu as fait avec minimalObBars en rajoutant le code qui l’utilise
- soit on se rend compte que c’est une faute de frappe (par ex minprice1 ou minprice2… a priori ici non, mais c’est juste pour décrire la démarche de façon plus générale) auquel cas au lieu de mettre // devant la ligne 54, l’alternative aurait été de corriger minprice12 pour avoir la bonne orthographe de la variable.
idem minclose12 en ligne 55, etc…
-
AuthorPosts
Find exclusive trading pro-tools on