Identifier la dernière bougie positive/négative
Forums › ProRealTime forum Français › Support ProBuilder › Identifier la dernière bougie positive/négative
- This topic has 12 replies, 3 voices, and was last updated 7 years ago by Phil4910.
-
-
07/24/2017 at 1:32 PM #41498
Bonjour,
Je voudrais pouvoir identifier la dernière bougie positive/négative à la clôture de la bougie en cours même si elle se situe X bougies avant. Je suppose qu’il faut utiliser Barindex mais je n’y arrive pas.
Quelqu’un peut m’aider?
Merci d’avance,
Phil4910
07/24/2017 at 3:34 PM #4151507/25/2017 at 7:44 AM #41537Bonjour Nicolas,
Je souhaite l’identifier pour l’intégrer dans un code parmi d’autres paramètres. Je n’ai donc pas besoin de savoir si elle se trouve une ou plusieurs bougies en arrière pour en tenir compte ou l’ignorer, sa position par rapport à la bougie actuelle importe peu.
Merci de ton aide,
Phil4910
07/25/2017 at 9:52 AM #41544Voici un premier jet à optimiser qui indique pour la barre en cours :
- si la barre actuelle est positive : en haut de barre le nombre de périodes (incluant celle en cours) positives actuelles et en bas de barre le nombre de barres négatives précédentes
- si la barre actuelle est négative: en bas de barre le nombre de périodes (incluant celle en cours) négatives actuelles et en haut de barre le nombre de barres positives précédentes
- NB: je n’ai pas inclu le cas de barre “neutre”, à modifier donc
- code à visualiser sur le graphique des barres
Nombre de close Positifs/Négatifs actuels et précédents1234567891011121314151617181920212223242526272829once Offset = 5 // distance du DRAWTEXT de l’extrême de la barre, peut intégrer un ATR moyenif close>close[1] thenQ=1elsif close<close[1] thenQ=-1elseQ=0// attention il convient d'ajuster le code pour intégrer ce casendifa=0For b=1 to 50 // peut aussi se gérer avec l'instruction WHILEQb1=Q[b-1]if Q[b]<>Qb1 thena=a+1if a = 1 thenn1=belsif a=2 thenn2=b-n1BREAKendifendifnextDRAWTEXT("#n1#", barindex, high+Offset*pipsize,Dialog,standard,10) coloured (0,0,255)DRAWTEXT("#n2#", barindex, low-Offset*pipsize,Dialog,standard,10) coloured (255,0,0)return undefined1 user thanked author for this post.
07/25/2017 at 10:05 AM #41548n1 = nombre de barres dont le close est équivalent (positif ou négatif) au close actuel, et n2 = nombre de barres dont le close est équivalent (positif ou négatif) au close précédent. Donc il conviendra éventuellement de “switcher” n1 et n2 avec un ordre conditionnel si tu veux attribuer la valeur positive à n1 et négative à n2
07/25/2017 at 10:34 AM #41558Merci Pepsmile pour ton code.
Malheureusement, ce n’est pas ce que je recherche pour mon usage; pour donner un exemple plus concret, une partie du code va donner un signal d’achat si la clôture de la bougie en cours est “bullish” et avec une clôture plus élevée que l’ouverture de la dernière bougie “bearish” même si cette bougie “bearish” se trouve X bougies dans le passé.
Merci d’avance,
Phil4910.
07/25/2017 at 10:39 AM #4155907/25/2017 at 10:50 AM #41561Désolé pour le manque de précision, j’aurais dû être plus complet dans ma demande.
Etant une bille en programation, je ne vois pas ce que tu veux dire en mentionnant la condition en haut du code…
Si tu sais m’orienter, je t’en serais reconnaissant.
Phil4910
07/26/2017 at 9:44 AM #4163007/26/2017 at 10:58 AM #41645Pour aller plus vite, je ne vais pas reprendre le code de pepsmile, merci pour son aide malgré tout.
@Phil4910 Tu peux essayer avec ça:12345678910111213141516X = 50 //quantité de bougies dans le passé à scanner pour trouver la dernière bougie bearishfor i = 1 to X doif close[i]<open[i] thenlastbear = close[i]breakendifnext// signaux bullishif close>open and close>lastbear thensignal = 1elsesignal = 0endifRETURN signal07/26/2017 at 11:21 AM #4164807/26/2017 at 12:37 PM #41664Le problème vient en effet que l’on teste sur la clôture de la bougie bearish alors que c’est sur l’ouverture, le code devrait être ainsi :
12345678910111213141516X = 50 //quantité de bougies dans le passé à scanner pour trouver la dernière bougie bearishfor i = 1 to X doif close[i]<open[i] thenlastbear = open[i]breakendifnext// signaux bullishif close>open and close>lastbear thensignal = 1elsesignal = 0endifRETURN signal07/26/2017 at 12:44 PM #41665 -
AuthorPosts
Find exclusive trading pro-tools on