Problème avec compteur

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

    Bonsoir,

    Je ne trouve pas la solution pour mettre des Flag qui fonctionnent correctement.
    Dans le code ci-dessous je recherche un point haut sur X barres à gauche et que les 3 suivantes soient décroissantes, la dernière
    bougie est taguée avec “▲” qui doit être un point de départ pour compter le nombre de bougie qui vont apparaître au fur et à mesure.
    Donc le compteur doit commencer à 1 à la première bougie qui suit “▲” et ainsi de suite jusqu’à ce que la condition ne soit plus remplie (plus de bougie plus basse que la précédente via les high).
    A ce moment je souhaiterais que ce compteur cesse de s’incrémenter jusqu’au prochain Fractal trouvé, de même que les petits points bleus qui confirment la condition High>High[1] ne soient plus affichés jusqu’au prochain Fractal.
    Actuellement le compteur démarre n’importe où et compte alors qu’il ne devrait plus…

    Merci pour vos conseils !

     

     
    defparam drawonlastbaronly = false
    
    //fractals
    cp = 5//lookback
    
    // 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
    
    NumFractal = NumFractal + 1
    barstartupX = barindex-cp
    barstartupY = high[cp]
    barendX = barindex[cp-3]
    barendY = high[cp-3]
    
    DRAWTEXT("▼",barstartupX,barstartUPY+2,Dialog,Bold,12) coloured("cyan")
    DRAWTEXT("Fractal N° #NumFractal#",barstartupX,barstartUPY+4,Dialog,Bold,12) coloured("cyan")
    
    DRAWTEXT("▲",barendX,barendY,Dialog,Bold,12) coloured("red")
    CompteurTrend = 0
    TemoinFractal = 1
    
    Endif
    
    If TemoinFractal = 1 then // Compte le nombre de bougie qui poursuivent le mouvement à partir de ce nouveau plus haut
    
    if high[0] < high[1] then
    
    CompteurTrend = CompteurTrend + 1
    barendnewX = barindex
    barendnewY = high[0]
    DRAWTEXT("°",barendnewX,barendnewY+1,Dialog,Bold,14) coloured("cyan")
    DRAWTEXT("#CompteurTrend#",barendnewX,barendnewY+5,Dialog,Bold,10) coloured("white")
    endif
    else
    CompteurTrend = 0
    endif
     
    
    return
    image_2022-02-13_191214.png image_2022-02-13_191214.png
    #188226 quote
    JC_Bywan
    Moderator
    Master

    Il semble que tu veuilles savoir en ligne 26 quand “temoinFractal” est égal à 1, mais à moins d’avoir lu trop vite (ce qui est très possible) je ne lis pas de remise à zéro de cette variable quelque part ailleurs dans le code, donc temoinfractal reste à 1 en permanence après la première fois où ça arrive, ce qui j’imagine n’est pas le but recherché car provoque une lecture systématique des lignes 30 et 37 liées au compteur, au lieu de seulement quand voulu. Il faudrait donc rajouter ce qui permet à temoinfractal de repasser de 1 à 0 au moment voulu?

    #188227 quote
    Yvan63
    Participant
    Senior

    Dans un autre test j’ai essayé de passer TemoinFractal = 0 dans la deuxième partie du code, cela n’affiche plus rien…
    Donc pour la compréhension de l’attendu j’ai préféré proposer cette version du code.

    #188229 quote
    JC_Bywan
    Moderator
    Master

    A tester en mettant le “temoinfractal=0″ dans un” else” rajouté au “if high<high[1] then”… (pas dans le “else” existant du “if temoinfractal=1”):

    defparam drawonlastbaronly = false
    
    //fractals
    cp = 5//lookback
    
    // 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
    
    NumFractal = NumFractal + 1
    barstartupX = barindex-cp
    barstartupY = high[cp]
    barendX = barindex[cp-3]
    barendY = high[cp-3]
     
    DRAWTEXT("▼",barstartupX,barstartUPY+2,Dialog,Bold,12) coloured("cyan")
    DRAWTEXT("Fractal N° #NumFractal#",barstartupX,barstartUPY+4,Dialog,Bold,12) coloured("cyan")
     
    DRAWTEXT("▲",barendX,barendY,Dialog,Bold,12) coloured("red")
    CompteurTrend = 0
    TemoinFractal = 1
    
    Endif
    
    If TemoinFractal = 1 then // Compte le nombre de bougie qui poursuivent le mouvement à partir de ce nouveau plus haut
    
     if high[0] < high[1] then
    
      CompteurTrend = CompteurTrend + 1
      barendnewX = barindex
      barendnewY = high[0]
      DRAWTEXT("°",barendnewX,barendnewY+1,Dialog,Bold,14) coloured("cyan")
      DRAWTEXT("#CompteurTrend#",barendnewX,barendnewY+5,Dialog,Bold,10) //coloured("white")
     else
      TemoinFractal =0
     endif
    else
     CompteurTrend = 0
    endif
    
    return
    Yvan63 thanked this post
    #188235 quote
    Yvan63
    Participant
    Senior

    Ca ne fonctionne pas mieux 🙁

    Test2.png Test2.png
    #188239 quote
    robertogozzi
    Moderator
    Master

    @Yvan63

    N’intégrez pas de fichiers/documents dans votre texte, car cela ralentit le chargement des pages.
    Merci 🙂

    #188240 quote
    Yvan63
    Participant
    Senior

    @Yvan63

    N’intégrez pas de fichiers/documents dans votre texte, car cela ralentit le chargement des pages.

    Merci 🙂

    Quelle est la bonne pratique pour joindre une photo alors (car je ne vois qu’un seul bouton pour l’insérer) ?

    #188242 quote
    robertogozzi
    Moderator
    Master

    Il vous suffit d’utiliser le bouton “Select “File”.

    Yvan63 thanked this post
    #188247 quote
    Yvan63
    Participant
    Senior

    En fait ça fonctionne très bien !!
    Merci beaucoup, désolé pour l’erreur …

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

Problème avec compteur


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
Yvan63 @yvan63 Participant
Summary

This topic contains 8 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: 2 files
Logo Logo
Loading...