Indicateur dépassement BB

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #38824 quote
    kinyo
    Participant
    New

    Bonjour,  j’essaye de coder un indicateur qui affiche sur le graphe des prix une flêche lorsque le dernier chandelier en clôture dépasse la bande de bollinger haute (flêche verte) et en reverse sous la bande de bollinger basse (flêche rouge).
    Comment modifier ce code pour n’afficher qu’une seule flêche au premier dépassement des BB (achat ou vente) et non pas plusieurs flêches à chaque dépassement des BB à l’achat ou à la vente ? En vous remerciant pour votre aide.

    b=close>BollingerUp[20]
    s=close<BollingerDown[20]
    
    if b then
    drawarrowup(barindex,lowest[3](low)) coloured(0,255,0)
    endif
    
    if s then
    drawarrowdown(barindex,highest[3](high)) coloured(255,0,0)
    endif
    
    return b as "buy", s as "sell"
    #38827 quote
    Nicolas
    Keymaster
    Master

    Il faut utiliser CROSSES OVER et CROSSES UNDER plutôt que de vérifier en continu si le Close est supérieur à la bande haute ou inférieur à la bande basse.

    Ces instructions servent à vérifier une condition de croisement entre 2 valeurs.

    #38877 quote
    kinyo
    Participant
    New

    OK, merci bien Nicolas !

    #38886 quote
    kinyo
    Participant
    New

    Nicolas, j’ai essayé de modifier mon indicateur en tenant compte de ton conseil mais j’obtiens (hélas) le même résultat qu’avec le code précédent. La première image jointe montre le défaut et la seconde le résultat souhaité. Si des fois t’avais une idée pour solutionner celà. Merci d’avance.

    b = close CROSSES OVER BollingerUp[20](close)
    s = close CROSSES UNDER BollingerDown[20](close)
    
    signal = 0
    
    if b THEN
    signal = 1
    drawarrowup(barindex,lowest[3](low)) coloured(0,255,0)
    ELSE
    signal = 0
    ENDIF
    
    if s THEN
    signal = -1
    drawarrowdown(barindex,highest[3](high)) coloured(255,0,0)
    ELSE
    signal = 0
    ENDIF
    
    RETURN (signal)
    1.jpg 1.jpg 2.jpg 2.jpg
    #38891 quote
    Nicolas
    Keymaster
    Master

    Je comprends bien mieux ta demande maintenant, tu souhaites alterner les signaux. Dans ce cas il faut tester si le dernier signal est un signal contraire avant d’en lancer un nouveau (j’ai ajouté une nouvelle variable “lastsignal”):

    b = close CROSSES OVER BollingerUp[20](close)
    s = close CROSSES UNDER BollingerDown[20](close)
    
    signal = 0
    
    if b and lastsignal<=0 THEN
    signal = 1
    drawarrowup(barindex,lowest[3](low)) coloured(0,255,0)
    lastsignal=1
    ELSE
    signal = 0
    ENDIF
    
    if s and lastsignal>=0 THEN
    signal = -1
    drawarrowdown(barindex,highest[3](high)) coloured(255,0,0)
    lastsignal=-1
    ELSE
    signal = 0
    ENDIF
    
    RETURN (signal)
    HerveS_67 thanked this post
    #38909 quote
    supertiti
    Participant
    Master

    Bonjour Kynio

    J’ai essayé avec : DefParam DrawOnLastBarOnly = true en début de code mais ça ne marche pas ?!

    J’ai modifié ton code pour avoir des variables sur la periode et l’écart type : p et EC

    BB CROSS UP and DOWN”

     

    med1 = Average[p](close)
    dst1 = STD[p](close)
    bes1 = med1 + (EC * dst1)
    /////////////////////////////////
    med = Average[p](close)
    dst = STD[p](close)
    bei = med - (EC * dst)
    /////////////////////////////////
    
    b = close CROSSES OVER bes1
    s = close CROSSES UNDER bei
    signal = 0
    if b THEN
    signal = 1
    drawarrowup(barindex,lowest[1](low)) coloured(0,255,0)
    ELSE
    signal = 0
    ENDIF
    if s THEN
    signal = -1
    drawarrowdown(barindex,highest[1](high)) coloured(255,0,0)
    ELSE
    signal = 0
    ENDIF
    
    RETURN customclose as " customclose " , signal as " signal ", bei as " bei " , bes1 as " bes1 "
    
    // Variables :
    // p = 20 entier
    // EC = 2 decimal
    #38912 quote
    kinyo
    Participant
    New

    Génial, mon indicateur fonctionne parfaitement maintenant. Merci à vous deux pour votre aide inestimable…

    #38927 quote
    supertiti
    Participant
    Master

    Bonsoir Kynio

    Peux tu nous mettre en ligne le code que tu utilises ?

    bonne soirée

    #38952 quote
    kinyo
    Participant
    New

    Salut supertiti, c’est celui que Nicolas donne plus haut après modification. Bon we !

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

Indicateur dépassement BB


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
kinyo @kinyo Participant
Summary

This topic contains 8 replies,
has 3 voices, and was last updated by kinyo
8 years, 8 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 06/22/2017
Status: Active
Attachments: 2 files
Logo Logo
Loading...