Simplification code instruction High à répétition

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #188185 quote
    Yvan63
    Participant
    Senior

    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

    // Cherche une sorte de fractal 
    Fractal = 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 then
    
    drawtext("■",barindex-cp,high[cp]+2) coloured ("cyan")
    
    endif

    Il doit y avoir moyen d’utiliser Highest ?

    Vos avis ?

    #188186 quote
    Yvan63
    Participant
    Senior

    J’ai essayé avec Fractal = High[cp] >= Highest[cp*2+1](high) and Highest[cp-1], cela ne donne pas le même résultat

    #188216 quote
    Nicolas
    Keymaster
    Master

    Cela semble déjà fonctionnel ? Pourquoi vouloir modifier ?

    Ce que tu as écrit :

    Le High d’il y a “cp” chandeliers en arrière est plus haut que les 3 bougies qui le précède.

    Yvan63 thanked this post
    #188217 quote
    Yvan63
    Participant
    Senior

    Je 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[cp1] and High[cp1] > High[cp2] and High[cp2] > High[cp3]
    (pour la partie droite du sommet donc).

    #188219 quote
    JC_Bywan
    Moderator
    Master

    Pour 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:

    N=...
    
    cond = high[cp]>high[cp-1]
    
    Fractal = High[cp] >= Highest[cp*2+1](high) and summation[N](cond)=N
    #188222 quote
    Yvan63
    Participant
    Senior

    Je ne comprends pas comment cette condition va prendre en compte les valeurs qui sont un coup cp-1,cp-2 etc ?

    #188224 quote
    JC_Bywan
    Moderator
    Master

    La 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.

    Yvan63 thanked this post
    #188225 quote
    Yvan63
    Participant
    Senior

    Je comprends mieux, merci beaucoup 👍
    C’est particulier la programmation PRT avec ce travail relatif permanant à faire, c’est une bonne gymnastique d’esprit !

Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.

Simplification code instruction High à répétition


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
Yvan63 @yvan63 Participant
Summary

This topic contains 7 replies,
has 3 voices, and was last updated by Yvan63
4 years ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 02/13/2022
Status: Active
Attachments: No files
Logo Logo
Loading...