Identifier high et low inconnus

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #178166 quote
    Alai-n
    Participant
    Veteran

    Bonjour…
    Je souhaiterais solliciter votre aide pour finaliser l’indicateur ci-joint.
    J’ai eu beau fouiller sur le site je n’ai pas trouvé les réponses à mes questions !
    Je souhaiterais rajouter à cette petite formule simple une condition de validation et une condition d’invalidation.

    1- Validation = Bougie clôture au-dessus du plus haut de la configuration en 3 bougies(dans cette formule cela sera soit au-dessus de
    high[3] soit high[1])

    2- Invalidation = Bougie clôture en-dessous du plus bas de la configuration en 3 bougies(soit low[2])

    3- Si la configuration en 3 bougies que j’ai appelé “PriceActionSignal” devait se reproduire consécutivement sans que la précédente
    ne soit “Validée” ou “Invalidée” alors on ne retiendra que la plus récente.

    PS : J’espère avoir été limpide. Mais pour simplifier ma demande. Ce que je voudrais faire c’est récupérer un plus haut et un plus bas
    dans une configuration à plusieurs bougies. Et valider ou invalider un signal [X] bougies après.

    Par avance merci.

    //"PriceActionSignal" la configuration graphique consiste à déterminer le bon moment pour ouvrir une position acheteuse sur le marché.
    //Entrer en position lorsque le marché clôture au-dessus de la bougie dont le high est le plus haut.
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Formulation de l'algorithme PriceActionSignal
    PriceActionSignal  = low[3] > low[2] and low[2] < low[1] and high[3] > high[2] and high[2] < high[1] //and close[0] > high[x]
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    Signal = 0
    // Représentation graphique PriceActionSignal
    if PriceActionSignal then
    //Drawcandle(open,high,low,close)coloured(255,99,71)
    Signal = 1
    endif
    
    
    Return Signal as "Signal"
    #178176 quote
    JC_Bywan
    Moderator
    Master

    Bonjour,

    pour essayer de t’avancer en espérant avoir compris ton signal, j’ai juste ajouté de quoi visualiser toutes les validations et invalidations en histogrammes après stockage dans des variables du haut voulu et du bas voulu. Pas trop le temps de rester, et sans doute que d’autres pourront intervenir aussi, mais en partant de là tu peux ou bien le garder tel quel vu que c’est juste un indicateur graphique à ce stade, ou bien peut-être garder une seule validation ou invalidation par signal en cours pour enlever les histogrammes superflus une fois validé/invalidé, tout dépend de ce que tu souhaites garder sous les yeux…

    //"PriceActionSignal" la configuration graphique consiste à déterminer le bon moment pour ouvrir une position acheteuse sur le marché.
    //Entrer en position lorsque le marché clôture au-dessus de la bougie dont le high est le plus haut.
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Formulation de l'algorithme PriceActionSignal
    PriceActionSignal  = low[3] > low[2] and low[2] < low[1] and high[3] > high[2] and high[2] < high[1] //and close[0] > high[x]
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    Signal = 0
    // Représentation graphique PriceActionSignal
    if PriceActionSignal then
    //Drawcandle(open,high,low,close)coloured(255,99,71)
    hautvoulu=max(high[1], high[3])
    basvoulu=low[2]
    Signal = 2
    endif
    Validation= close>hautvoulu
    Invalidation= - (close<basvoulu)
     
    Return Signal as "Signal", Validation coloured(0,255,0) style(histogram) as "Validation", Invalidation coloured(255,0,0) style(histogram) as "Invalidation"
    Alai-n thanked this post
    #178180 quote
    Alai-n
    Participant
    Veteran

    Merci, je crois que je vais pouvoir avancer un peu grâce à toi… Les lignes 11 12 15 et 16 devrait m’aider à mettre en place ce que je cherche !

    #178205 quote
    Alai-n
    Participant
    Veteran

    En rajoutant des conditions ligne 11 et 12, les lignes se mettent en “Erreur” ! Aurais-tu une idée ?

    11 hautvoulu = max(high[1], high[2], high[3])
    12 basvoulu   = min(low[1], low[2], low[3])

    #178209 quote
    JC_Bywan
    Moderator
    Master

    La cause de l’erreur pour cette modification est que max() et min() ne s’utilisent que pour comparaison directe de 2 valeurs dans les parenthèses.

    Tu peux soit faire un max d’une valeur et d’une 2e valeur étant elle-même un max de 2 valeurs:     max(high[1], max(high[2], high[3]))

    soit passer par highest avec la syntaxe suivante pour l’appliquer sur 3 valeurs, mais au rang précédent:      highest[3](high)[1]

    (c’était juste pour info sur la programmation, mais en pratique par définition du signal qui imposait déjà que high[2] est plus bas que les 2 autres, et low[1] et low[3] sont plus hauts que low[2], la modif n’est pas nécessaire)

    Alai-n thanked this post
    #178220 quote
    Alai-n
    Participant
    Veteran

    Merci pour les infos. Mais je n’arrive toujours pas à le faire fonctionner !

    Je reformule(code ci-joint).

    1- Je veux déclencher un “Achat” lorsque une bougie clôture au-dessus du plus haut de ma configuration “PriceActionSignal”

    2- Je veux invalider un possible “Achat” si une bougie clôture sous le plus bas de ma configuration “PriceActionSignal”

    //"PriceActionSignal" la configuration graphique consiste à déterminer le bon moment pour ouvrir une position acheteuse sur le marché.
    //Entrer en position lorsque le marché clôture au-dessus de la bougie dont le high est le plus haut.
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Formulation de l'algorithme PriceActionSignal
    PriceActionSignal  = open[3] > close[3] and open[2] > close[2] and open[1] > close[1]
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    Signal = 0
    // Représentation graphique PriceActionSignal
    if PriceActionSignal then
    hautvoulu=max(high[1], max(high[2], high[3]))
    basvoulu=min(low[1], min(low[2], low[3]))
    Signal = 2
    endif
    Validation= close>hautvoulu
    Invalidation= - (close<basvoulu)
    
    Return Signal as "Signal"
    #178246 quote
    JC_Bywan
    Moderator
    Master

    Les niveaux à 1, 1.5 ou 2 n’ont pas une signification particulière, c’est juste pour visualiser plus vite, le résultat final étant l’histogramme vert “achat”

    //"PriceActionSignal" la configuration graphique consiste à déterminer le bon moment pour ouvrir une position acheteuse sur le marché.
    //Entrer en position lorsque le marché clôture au-dessus de la bougie dont le high est le plus haut.
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    once surveillerachat=0
    // Formulation de l'algorithme PriceActionSignal
    PriceActionSignal  = low[3] > low[2] and low[2] < low[1] and high[3] > high[2] and high[2] < high[1] //and close[0] > high[x]
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    Signal = 0
    achat = 0
    // Représentation graphique PriceActionSignal
    if PriceActionSignal then
     hautvoulu=max(high[1], high[3])
     basvoulu=low[2]
     Signal = 1.5
     surveillerachat=1
    endif
    
    Validation= close>hautvoulu
    Invalidation= - (close<basvoulu)
    if surveillerachat=1 and validation and not PriceActionSignal then
     achat=2
     surveillerachat=0
    elsif surveillerachat=1 and Invalidation=-1 then
     surveillerachat=-1
    endif
    
    Return Signal as "Signal", surveillerachat style(dottedline,1) as "surveillerachat", achat coloured(0,255,0) style(histogram) as "achat"//Validation coloured(0,255,0) style(histogram) as "Validation", Invalidation coloured(255,0,0) style(histogram) as "Invalidation"
    Alai-n thanked this post
    #178305 quote
    Alai-n
    Participant
    Veteran

    Bonjour… Tu m’as un peu perdu là !!! Je vais essayer de comprendre tout ça ce week end. Merci

    #178371 quote
    JC_Bywan
    Moderator
    Master

    L’idée, c’est que puisque “priceactionsignal” ne dure qu’une barre, et que la validation/invalidation se fait sur une autre barre, il faut séparer quand le code doit guetter une validation/invalidation de quand il ne le doit pas. C’est le rôle joué par la variable “surveillerachat”, qui est à mise à 1 quand il faut surveiller à partir d’un nouveau “priceactionsignal”, puis passe à 0 si un achat est fait, ou à -1 quand il y a invalidation (juste pour visualiser, aurait pu être à 0 aussi).

    Alai-n thanked this post
    #178375 quote
    Alai-n
    Participant
    Veteran

    J’ai enfin saisi… ! Merci

    #178394 quote
    Alai-n
    Participant
    Veteran

    Si j’ai 4 high à surveiller pour déclencher une validation, j’écris ça comment ???

    hautvoulu=max(high[1], high[3]) /Pour deux high

    hautvoulu=max(high[1], max(high[2], high[3])) / Pour trois high

    Et pour Quatre ???

    #178396 quote
    Alai-n
    Participant
    Veteran

    Est ce que cela peut ressembler à ceci pour Quatre High “max(high[1],max(high[2], max(high[3], high[4])))” ???

    #178403 quote
    JC_Bywan
    Moderator
    Master

    Oui,

    ou bien aussi: hautvoulu=highest[4](high)[1]

    ou encore pour être complet une variante: mettre en mémoire dans X le plus grand high de la barre en cours et des 3 barres précédentes X=highest[4](high), et utiliser hautvoulu=X[1] pour avoir le plus grand high des 4 barres précédentes

    Alai-n thanked this post
Viewing 13 posts - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.

Identifier high et low inconnus


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
Alai-n @alai-n Participant
Summary

This topic contains 12 replies,
has 2 voices, and was last updated by JC_Bywan
4 years, 5 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 09/23/2021
Status: Active
Attachments: No files
Logo Logo
Loading...