Sommets et Creux sur 5 Bars
Forums › ProRealTime forum Français › Support ProBuilder › Sommets et Creux sur 5 Bars
-
-
03/24/2025 at 5:09 PM #245215
Bonjour à tous,
Je bloque sur un code d’ indicateur :
Repérer quand un HIGH est plus haut que les HIGH des 2 bars précédentes ainsi que des 2 HIGH des bars qui le suivent. Autrement dit pour 5 bars ( 1,2,3,4,5) le HIGH de la 3 est plus haut que les HIGH des bars 1,2,4,5 .
Même recherche pour le LOW le plus bas par rapport aux 2 bars précédentes ainsi que pour les 2 low des 2 bars qui le suivent.
// sur 5 bougies,le HIGH de celle du milieu est supérieur aux HIGH des bars qui l’ encadrent
A = HIGH[2] > HIGH [1] AND HIGH[2] > HIGH
B = HIGH[2] > HIGH [3] AND HIGH[2] > HIGH[4]
IF A AND B THEN
SOMMET = HIGH[2]
ENDIF
// sur 5 bougies,le LOW de celle du milieu est inférieure aux LOW des bars qui l’ encadrent
C = LOW[2] < LOW [1] AND LOW[2] < LOW
D = LOW[2] < LOW [3] AND LOW[2] < LOW[4]
IF C AND D THEN
CREUX = LOW[2]
ENDIF
DRAWPOINT (SOMMET,2)COLOURED(0,0,255)
DRAWPOINT (CREUX,2) COLOURED(255,0,0)
RETURNMerci et bonne soirée à tous.
03/24/2025 at 5:49 PM #24522103/24/2025 at 5:55 PM #245223Bonsoir,
Dans l’usage de drawpoint il manque la coordonnée horizontale barindex[2], et son placement serait plutôt dans les blocs if … endif aussi, à tester:
12345678910111213141516// sur 5 bougies,le HIGH de celle du milieu est supérieur aux HIGH des bars qui l’ encadrentA = HIGH[2] > HIGH [1] AND HIGH[2] > HIGHB = HIGH[2] > HIGH [3] AND HIGH[2] > HIGH[4]IF A AND B THENSOMMET = HIGH[2]DRAWPOINT(barindex[2],SOMMET,2)COLOURED(0,0,255)ENDIF// sur 5 bougies,le LOW de celle du milieu est inférieure aux LOW des bars qui l’ encadrentC = LOW[2] < LOW [1] AND LOW[2] < LOWD = LOW[2] < LOW [3] AND LOW[2] < LOW[4]IF C AND D THENCREUX = LOW[2]DRAWPOINT(barindex[2],CREUX,2) COLOURED(255,0,0)ENDIFRETURN1 user thanked author for this post.
03/24/2025 at 6:16 PM #245225Autrement dit pour 5 bars ( 1,2,3,4,5) le HIGH de la 3 est plus haut que les HIGH des bars 1,2,4,5 .
Il suffit de traduire la phrase littéralement…
n étant le nombre de bars avant et après :
Sommet = High[n]=Highest[2*n+1](high) // avec n=2 cela fait 2*n+1 => 5 et High[n] n étant la bar du milieu, l’avant avant dernière avec n=2de même,
Creux = Low[n]=lowest[2*n+1](low)Si l’on veut un nombre de bar à gauche (ng) différent du nombre de bar à droite (nd), c’est à peu près pareil :
Sommet = High[nd]=Highest[ng+nd+1](high)
Creux = Low[nd]=lowest[ng+nd+1](low)1 user thanked author for this post.
03/24/2025 at 6:17 PM #245226Vous pouvez également l’afficher de cette façon :
5 bars High and Low123456789If High[2]=Highest[2*2+1](High) thenDrawPoint(BarIndex[2],High[2],2)Coloured("Green")EndIfIf Low[2]=Lowest[2*2+1](Low) thenDrawPoint(BarIndex[2],Low[2],2)Coloured("Red")EndIfReturn1 user thanked author for this post.
03/25/2025 at 10:15 AM #245241 -
AuthorPosts