Close en diminution sur 45 jours
Forums › ProRealTime forum Français › Support ProScreener › Close en diminution sur 45 jours
- This topic has 6 replies, 3 voices, and was last updated 3 years ago by alarim.
-
-
04/18/2021 at 8:54 PM #167463
Bonjour
J’ai écrit ce code qui en passant fait très bien le travail comme indicateur. Cependant j’aimerais le modifier pour en faire un screener.
Je veux apporter les modifications suivante: le screener ne me sortira les titres que ssi un close plus haut que le close d’aujourd’hui est présent dans les 15 premiers jours,
ET
qu’un close dans la période qui suit soit entre les jours 16 et 30 soit plus haut que celui trouvé pour la période des 15 premiers jours
ET
pour finir qu’un close dans la période qui suit soit entre les jours 31 et 45 soit plus haut que celui trouvé pour la période de 16 à 30 jours.
Il faut que les 3 conditions soient présentent pour que le screener me retourne les résultats.
Je connais très bien l’instruction screener [] ma difficulté est que je ne trouve pas comment formuler les conditions à appliquer pour que mes recherches soit efficaces.
Je ne tiens pas nécessairement à ce code , si vous avez une nouvelle approche plus simple ça me va, c’est le résultat qui m’importe.
Merci
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869DEFPARAM DrawOnLastBarOnly = truerge = averagetruerange[10](close)Distance = 1* pipsizeMyclose = close[0]BarNum = barindex=0FOR i = (1) TO (15)IF close[i] > Myclose THENMyclose = close[i]BarNum = iif BarNum>16 thenBarNum = 0endifendifNEXTDRAWTEXT("#BarNum#ième de 0 à 15 bougies est plus haute que bougie zéro",barindex,high+rge*1.5 + round(Distance * 1.5)) coloured(255,0,0,255)Myclose = close[0]BarNum = barindex=0FOR i = (16) TO (30 )IF close[i] > Myclose THENMyclose = close[i]BarNum = iif BarNum>30 thenBarNum = 0ENDIFendifNEXTDRAWTEXT("#BarNum#ième de 16 à 30 bougies est plus haute que bougie zéro",barindex,high+rge*1.5 + round(Distance * 1)) coloured(255,0,0,255)Myclose = close[0]BarNum = barindex=0FOR i = (31) TO (45)IF close[i] > Myclose THENMyclose = close[i]BarNum = iif BarNum>45 thenBarNum = 0ENDIFendifNEXTDRAWTEXT("#BarNum#ième de 31 à 45 bougies est plus haute que bougie zéro",barindex,high+rge/2 + round(Distance * 1)) coloured(255,0,0,255)RETURN04/19/2021 at 7:53 AM #16747304/19/2021 at 8:11 AM #167479Je te propose ça en indicateur pour visualiser si ça te va, si oui libre à toi d’en faire un screener ensuite sur c4 ou autre combinaison de conditions si ce n’est qu’uen partie d’un tout.
1234567var=highest[15](close)c1= var[1]>closec2= var[16]>var[1]c3= var[31]>var[16]c4= c1 and c2 and c3return c404/19/2021 at 5:44 PM #167534Bonjour Nicolas
Je me suis mal exprimé, ce que j’aimerais c’est transformer cet indicateur en proscreener. Je suis incapable de formuler les conditions qui feront de cet indicateur un screener.
Comme je l’ai dit précédemment je sais très bien qu’il faut employer l’instruction screener [] mais quelles sont les conditions que je dois insérer entre ces crochets???
Il faudrait que les 3 conditions mentionnées plus haut soient présentent pour que le screener me retourne les résultats.
04/19/2021 at 6:19 PM #167537Bonjour Noobywan
Je n’ai pas eu beaucoup de temps pour tester ton code mais après avoir ajouté une condition (c4) et ajouter l’instruction screener il semble fonctionner très bien.
Merci beaucoup.
12345678var=highest[15](close)c1= var[1]>closec2= var[16]>var[1]c3= var[31]>var[16]c4= var[45]>var[31]c5= c1 and c2 and c3 and c4screener[c5]04/19/2021 at 7:18 PM #167546En tenant compte que, par définition de la variable “var=highest[15](close)”, var[31] représente le highest close sur les 15 bougies passées 31 à 45, le code tel quel suffisait pour 45 bougies passées.
Je préfère le mentionner au cas où, car tu avais limité le problème aux 45 précédentes, et tu n’évoques pas d’élargir les contraintes à la tranche de 46 à 60, ce qui me laisse supposer qu’en rajoutant une condition avec var[45] tu n’as peut-être pas réalisé que tu rajoutais en fait le highest close des bougies précédentes 45 à 59 (si par contre tu voulais bel et bien élargir les contraintes jusqu’à 60, alors il faudra utiliser var[46] pour 46 à 60).
04/19/2021 at 10:28 PM #167555J’ai cru qu’en ne voyant pas la période entre 31 et 45 dans ton code que tu avais oublié cette partie mais c’était mon erreur. Je n’avais pas compris la définition de l’instruction variable.
Merci beaucoup de prendre de ton temps pour nous aider et de partager ton expérience , c’est très apprécié.
-
AuthorPosts
Find exclusive trading pro-tools on