Bougie Heiikin Ashi: indicateur comptage bougie même couleur

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #56511 quote
    PHAN100
    Participant
    Junior

    Bonsoir,

    J’ai une demande à faire, svp, sur la création d’un indicateur qui doit ramener le nombre de bougies Heikin Ashi consécutif de même couleur même si la mèche est en bas (en cas de hausse) ou en haut (en cas de baisse)  ou si la bougie est toute petite, dans le sens haussier mais aussi dans le sens baissier.

    L’indicateur doit avoir le même sens que la tendance, si c’est vert, il sera positif dans le cas contraire, il sera négatif.

    Par exemple pour 9 bougies vertes de suite et 4 bougies rouges de suite puis 1 bougie vert, l’indicateur doit ramener 9/-4/1

    J’ai commencé à écrire un texte mais l’indicateur me ramène zéro tout le temps, car je pense qu’il revient au début du programme et voit le count =0, mais je pense aussi que mon programme a des éléments manquants ou mal construits? et je vise bien le graphe en bougies Heikin Ashi.

    En vous remerciant.

    Ci dessous mon programme.

    Stéphane

    “haclose=(open+close+low+high)/4
    haopen=(haopen[1]+haclose[1])/2
    c1= haclose>haopen
    c2=haclose<haopen
    count=0
    while c1 do
    count= count+1
    continue
    wend
    while c2 do
    count=count-1
    wend
    return count”

    #56630 quote
    Nicolas
    Keymaster
    Master

    > Pour la clarté des messages sur les forums de ProRealCode, merci d’utiliser le bouton “insert PRT code” pour séparer la partie texte de la partie code, merci ! <<

    L’indicateur doit avoir le même sens que la tendance, si c’est vert, il sera positif dans le cas contraire, il sera négatif.

    Comment est défini cette tendance ?

    #57513 quote
    PHAN100
    Participant
    Junior

    Bonjour,

    revoici mon code:

    haclose=(open+close+low+high)/4
    haopen=(haopen[1]+haclose[1])/2
    c1= haclose>haopen
    c2=haclose<haopen
    count=0
    while c1 do
    count= count+1
    continue
    wend
    while c2 do
    count=count-1
    wend
    return count”

    Je joins le graphique le plus récent de l’action ACCOR en cours de clôture journalier où cet indicateur doit me renvoyer:

    en – le nombre de bougies rouge

    en +, le nombre de bougies vertes.

    Dans le graphique publié, l’indicateur doit faire:

    -4+7-9+7

    -4 (4 bougies rouges)

    +7 (7 bougies vertes en comptant la toute petite bougie)

    -9 (9 bougies rouges en comptant la toute petite bougie)

    +7 (7 bougies vertes)

     

    En vous remerciant.

     

    Stéphane

    bougies-aikin-accor-cours-cloture.jpg bougies-aikin-accor-cours-cloture.jpg
    #57548 quote
    AVT
    Participant
    Senior
    // complet code général pour heikin ashi
    IF BarIndex=0 THEN                          // 1. fois
    haClose = (open+high+low+close)/4
    haOpen = open
    //  haHigh = high                             // comment: n'avons besoin de ça ici
    //  haLow = low                               // comment: n'avons besoin de ça ici
    ELSE                                        // toutes les autres fois
    haClose = (open+high+low+close)/4
    haOpen = (haOpen[1]+haClose[1])/2
    //  haHigh = Max(max(high, haOpen), haClose)  // comment: n'avons besoin de ça ici
    //  haLow = Min(min(Low, haOpen), haClose)    // comment: n'avons besoin de ça ici
    ENDIF
    
    // 2 variables pour compter
    once PosCnt=0  // vert
    once NegCnt=0  // rouge
    IsPos=(haClose>=haOpen)  // vert condition, = parce que il n'est pas completement impossible
    IsNeg=(haClose<haOpen)  // rouge condition, comment: n'avons besoin de ça ici
    
    IF IsPos THEN         // vert
    // maintenant nous savons que le neg phase finisait avec la dernière bougie (barindex-1)
    IF NegCnt<0 THEN
    DRAWTEXT("#NegCnt#",barindex-1,0,Monospaced) COLOURED(255,0,0) // 1. utiliser neg valeur pour text
    NegCnt=0                                         // 2. maintenant remettre la valeur
    ENDIF
    PosCnt=PosCnt+1                                  // et compter le pos
    //ENDIF
    ELSIF IsNeg THEN
    //ELSE                  // doit etre rouge (condition est >=)
    // maintenant nous savons que le pos phase finisait avec la dernière bougie (barindex-1)
    IF PosCnt>0 THEN
    DRAWTEXT("#PosCnt#",barindex-1,0,Monospaced) COLOURED(0,128,0) // 1. utiliser pos compte pour text
    PosCnt=0                                         // 2. remettre la valuer pour nouveau compte
    ENDIF
    NegCnt=NegCnt-1                                  // et compter le neg
    ENDIF
    
    RETURN

    Commentaires direct dans le code.

    Nicolas thanked this post
    #57549 quote
    AVT
    Participant
    Senior

    uppsss, supprimer la ligne 27, trop ENDIF

    #59480 quote
    PHAN100
    Participant
    Junior

    Bonsoir,

     

    merci beaucoup, AVT, vous avez parfaitement traduit ce que je voulais.

    Très bonne soirée.

     

    stéphane

    #73207 quote
    Ted21
    Participant
    Senior

    Je découvre ce beau travail, je souhaiterais ajouter un segment horizontal partant de l’open qui à générer X bougies consécutives de la même couleur.

    Tous les segments resteront apparents sur la période donnée de X jours.

    Et si possible pour améliorer la clarté de limiter le tracé à X jours.

    Est-ce facilement réalisable ?

    Pouvez-vous m’aider ?

    Merci

    #73556 quote
    Ted21
    Participant
    Senior

    Bonjour,

    Un idée ou un bout de code qui pourrait me mettre sur la voie ?

    Merci

    #73561 quote
    Nicolas
    Keymaster
    Master

    Ce code d’indicateur tracera une ligne horizontale depuis l’open de la bougie Heikin Ashi à chaque fois que “Consecutive” sera détecté, soit la quantité de bougies de la même couleur, et durant les “MaxCandles” bougies depuis la barre courante.

    defparam drawonlastbaronly=true
    
    // --- settings 
    MaxCandles = 200
    Consecutive = 5
    // --- end of settings 
    
    IF BarIndex=0 THEN                         
    haClose = (open+high+low+close)/4
    haOpen = open
    ELSE                                       
    haClose = (open+high+low+close)/4
    haOpen = (haOpen[1]+haClose[1])/2
    ENDIF
    
    for i = MaxCandles downto 1 do 
    if haclose[i]>haopen[i] then 
    green=green+1
    else
    red=red+1
    endif
    if green=consecutive then 
    DRAWHLINE(haopen[i])
    green=0
    endif
    if red=consecutive then 
    drawhline(haopen[i])
    red=0
    endif
    next
    
    return
    #73575 quote
    Ted21
    Participant
    Senior

    Superbe merci.

    Est-il possible d’utiliser Drawsegment à la place de Drawline ? Quelles seraient les valeurs de x et x1 ?

    #73589 quote
    Nicolas
    Keymaster
    Master

    Oui ce serait possible en utilisant les coordonnées que l’on trouve pour chaque item dans la boucle, essayons comme ceci:

    defparam drawonlastbaronly=true
    
    // --- settings 
    MaxCandles = 200
    Consecutive = 5
    // --- end of settings 
    
    IF BarIndex=0 THEN                         
    haClose = (open+high+low+close)/4
    haOpen = open
    ELSE                                       
    haClose = (open+high+low+close)/4
    haOpen = (haOpen[1]+haClose[1])/2
    ENDIF
    
    for i = MaxCandles downto 1 do 
    if haclose[i]>haopen[i] then 
    green=green+1
    else
    red=red+1
    endif
    if green=consecutive then 
    //DRAWHLINE(haopen[i])
     drawsegment(barindex[i],haopen[i],barindex,haopen[i])
    green=0
    endif
    if red=consecutive then 
    //drawhline(haopen[i])
     drawsegment(barindex[i],haopen[i],barindex,haopen[i])
    red=0
    endif
    next
    
    return

    Pour mémoire, travailler avec les boucles c’est justement l’un des thèmes principals de la formation à la programmation avancée disponible sur le site.

    #73591 quote
    Ted21
    Participant
    Senior

    Merci

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

Bougie Heiikin Ashi: indicateur comptage bougie même couleur


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
PHAN100 @phan100 Participant
Summary

This topic contains 11 replies,
has 4 voices, and was last updated by Ted21
7 years, 8 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 12/24/2017
Status: Active
Attachments: 1 files
Logo Logo
Loading...