Simplification code instruction High à répétition
Forums › ProRealTime forum Français › Support ProBuilder › Simplification code instruction High à répétition
- This topic has 7 replies, 3 voices, and was last updated 3 years ago by
Yvan63.
-
-
02/13/2022 at 1:10 PM #188185
Bonjour,
Voilà je cherche à trouver des sommets avec ce code, je n’arrive pas utiliser l’instruction Highest pour remplacer les multiples conditions High[x] > etc
12345678// Cherche une sorte de fractalFractal = High[cp] >= Highest[cp*2+1](high) and High[cp] > high[cp-1] and High[cp-1] > High[cp-2] and High[cp-2] > High[cp-3]If fractal thendrawtext("■",barindex-cp,high[cp]+2) coloured ("cyan")endifIl doit y avoir moyen d’utiliser Highest ?
Vos avis ?
02/13/2022 at 1:23 PM #18818602/14/2022 at 11:08 AM #18821602/14/2022 at 11:22 AM #188217Je trouve que ce n’est pas très pratique, surtout si je veux faire varier les valeurs en les mettant en variable.
Admettons que je veuille tester sur 10 bougies je serai obligé d’écrire 10 fois High[cp] > high[cp–1] and High[cp–1] > High[cp–2] and High[cp–2] > High[cp–3]
(pour la partie droite du sommet donc).02/14/2022 at 11:34 AM #188219Pour remplacer N occurrences sans avoir à écrire une tartine de N fois, tu peux définir la condition: cond=high[cp]>high[cp-1]
et remplacer les high[ ]>etc… par: summation[N](cond)=N,
le tout devenant:
12345N=...cond = high[cp]>high[cp-1]Fractal = High[cp] >= Highest[cp*2+1](high) and summation[N](cond)=N02/14/2022 at 12:33 PM #18822202/14/2022 at 1:19 PM #188224La condition cond aura une valeur 0 ou 1 selon que high[cp]>high[cp-1] soit vraie ou fausse,
la condition cond[1] qui correspond à high[cp]>high[cp-1] pendant la bougie précédente, correspond à high[cp-1]>high[cp-2] vu de la bougie en cours, et elle sera égale à 0 ou 1 selon qu’elle était vraie ou fausse
même chose pour cond[2] et high[cp-2]>high[cp-3] , etc…
La somme sur N bougies (de celle en cours, en passant par la précédente, etc… jusqu’à la (N-1) précédente) des valeurs de la condition est cond+cond[1]+cond[2]+…+cond[N-1] et s’écrit aussi summation[N](cond). Bien prendre en compte ici que pour summation, le [N] ne veut pas dire “à la N-ième bougie” mais veut dire “appliqué sur N occurrences”, même rôle des crochets que pour highest par exemple où les crochets sont pour un nombre de bougies (et non pas pour un rang comme pour high).
Pour que cette somme soit égale à N alors que la valeur de cond à chaque bougie ne peut valoir que 0 (condition fausse) ou 1 (condition vraie), il n’y a qu’un seul cas possible: que la condition soit égale à 1 (vraie) sur chacune des N bougies.
Donc summation[N](cond)=N correspond bien à high[cp]>high[cp-1] and high[cp-1]>high[cp-2] etc… (N fois), et non seulement évite d’écrire une tartine, mais simplifie grandement les choses si on a besoin de faire varier N.
1 user thanked author for this post.
02/14/2022 at 2:06 PM #188225 -
AuthorPosts
Find exclusive trading pro-tools on