ATR uttilisé en trailing stop

Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
    Posts
  • #215310 quote
    finplus
    Participant
    Master
    atrp = 14
    coeff = 2
     
    if barindex>atrp then
    once iprice=close
     
    if close > hh then
    r=0
    g=255
    iprice=close
    endif
    if close < ll then
    r=255
    g=0
    iprice=close
    endif
     
    hh=iprice+AverageTrueRange[atrp](close)*coeff
    ll=iprice-AverageTrueRange[atrp](close)*coeff
    endif
     
    Resist = average [3](hh - hh[1])
    
    if (resist < 0)  and resist[1] > 0 then
    plafondR = resist[1]
    endif
    
    
    
    return hh,ll, Resist as "Plafond", plafondR as "test"

    Bonjour, j’ai mis en copie un indicateur trouvé sur ce site auquel j’ai rajouté une ligne de code qui me permet d’identifier des pauses dans l’évolution des limites hh (je ferai pareil pour la partie ll).

    La ligne “plafondR” me permet d’identifier ces “plats” dans la courbe “hh” (pour tester). Le rendu apparaît dans le graphe joint. L’idée est que dès que la condition du plafondR est atteinte, on enregistre l’horaire de la bougie qui corresponde à cette condition. Puis à partir de l’horaire de survenue de la condition, on projette sur 10 bougies en avant (par exemple) la valeur de hh constatée au moment de la survenue de la condition.

    Merci.

    Capture-decran-2023-05-28-a-13.00.18.png Capture-decran-2023-05-28-a-13.00.18.png
    #215392 quote
    Nicolas
    Keymaster
    Master

    Je n’ai pas bien compris si on devait ajouter quelque chose à ton code ou non ? 🙂

    #215510 quote
    finplus
    Participant
    Master

    Bonjour,

    il est vrai que j’ai un peu de mal à formuler clairement mes demandes. Alors oui il faudrait tracer un segment dans le prolongement de hh à partir de l’UT qui correspond à l’UT qui a enregistré le PlafondR et qui est censé indiquer un “plat”.

    Ce segment devrait être projeté – par exemple – 10 barres en avant et puis être actualisé à chaque changement de PlafondR (donc à un nouveau “plat”).

    Je ne sais pas si je suis clair.

    #215592 quote
    finplus
    Participant
    Master

    Bonjour,

    je me permets de remonter ma demande. Merci de m’indiquer si ce n’est toujours pas clair.

    #215638 quote
    JC_Bywan
    Moderator
    Master

    Bjr,

    Si on veut faire un segment à hauteur de hh quand on a plafndR qui passe à vrai, on peut par exemple ajouter une ligne drawsegment comme ceci

    atrp = 14
    coeff = 2
    
    if barindex>atrp then
    once iprice=close
    
    if close > hh then
    r=0
    g=255
    iprice=close
    endif
    if close < ll then
    r=255
    g=0
    iprice=close
    endif
    
    hh=iprice+AverageTrueRange[atrp](close)*coeff
    ll=iprice-AverageTrueRange[atrp](close)*coeff
    endif
    
    Resist = average [3](hh - hh[1])
    
    if (resist < 0) and resist[1] > 0 then
    plafondR = resist[1]
    DRAWSEGMENT(barindex, hh, barindex+10, hh) style(line,3)
    endif
    
    return hh,ll, Resist as "Plafond", plafondR as "test"
    finplus thanked this post
    #215642 quote
    finplus
    Participant
    Master

    Merci. Je vais tester ce soir.

    #215730 quote
    finplus
    Participant
    Master

    Bonsoir,

    c’est exactement ce que je voulais.

    Je pense qu’il y a quelques petits réglages à faire au niveau de la détermination du paramètre RESIST.

    Je vais essayer de code la même chose pour “ll”.

    merci encore.

    #215970 quote
    finplus
    Participant
    Master

    Bonjour,

    je vous fait un petit retour de l’ajout du segment. C’est ce que je cherchais. Merci encore. J’aurai maintenant besoin de faire quelques petites évolutions. En premier lieu, je voudrais juste avoir le dernier segment. Comment faire SVP?

    Merci.

    Capture-decran-2023-06-11-a-18.22.48.png Capture-decran-2023-06-11-a-18.22.48.png
    #215984 quote
    JC_Bywan
    Moderator
    Master

    Bonjour,

    modifications pour n’avoir que le dernier segment:

    defparam DRAWONLASTBARONLY=true
    
    atrp = 14
    coeff = 2
    
    if barindex>atrp then
    once iprice=close
    
    if close > hh then
    r=0
    g=255
    iprice=close
    endif
    if close < ll then
    r=255
    g=0
    iprice=close
    endif
    
    hh=iprice+AverageTrueRange[atrp](close)*coeff
    ll=iprice-AverageTrueRange[atrp](close)*coeff
    endif
    
    Resist = average [3](hh - hh[1])
    
    if (resist < 0) and resist[1] > 0 then
    plafondR = resist[1]
    x1=barindex
    //DRAWSEGMENT(barindex, hh, barindex+10, hh) style(line,3)
    endif
    if islastbarupdate then
    DRAWSEGMENT(x1, hh, x1+10, hh) style(line,3)
    endif
    
    return hh,ll, Resist as "Plafond", plafondR as "test"
    finplus thanked this post
    #218663 quote
    finplus
    Participant
    Master

    Bonjour,

    un petit retour sur le code.

    je me suis aperçu que dans certaines situations, le code ne me renvoie pas le bon tracé. Comme le montre la pièce jointe, le tracé à droite qui apparaît avec un “non” devrait être plus haut (à la place des pointillés que j’ai tracé à la main).

    Quelqu’un pourrait-il m’aider à corriger le code  de façon à identifier cette zone “plate” qui suit une phase de hausse ? La phase de hausse peut être défini comme 3 “hh” successifs en hausse.  Pour la zone plate, alors là je cale.

    Merci.

    defparam DRAWONLASTBARONLY=true
     
    atrp = 14
    coeff = 2
     
    if barindex>atrp then
    once iprice=close
     
    if close > hh then
    r=0
    g=255
    iprice=close
    endif
    if close < ll then
    r=255
    g=0
    iprice=close
    endif
     
    hh=iprice+AverageTrueRange[atrp](close)*coeff
    ll=iprice-AverageTrueRange[atrp](close)*coeff
    endif
     
    ResistHaut = average [8](hh - hh[1])
     
    if (resistHaut < 0) and resistHaut[1] > 0 then plafondR = resistHaut[1] x1=barindex //DRAWSEGMENT(barindex, hh, barindex+10, hh) style(line,3) endif if islastbarupdate then DRAWSEGMENT(x1, hh, x1+20, hh) style(line,3) endif
    
    
    
    
    ResistBas = average [1](ll - ll[8])
     
    if (resistBas < 0) and resistBas[1] > 0 then plafondB = resistBas[1] y1=barindex //DRAWSEGMENT(barindex, hh, barindex+10, hh) style(line,3) endif if islastbarupdate then DRAWSEGMENT(y1, ll, y1+20, ll) style(line,3) endif
     
    return hh,ll, Resisthaut as "Plafond", plafondR as "test", ResistBas as "Plancher", plafondB as « test1"
    
    Image.pdf
    #218996 quote
    JC_Bywan
    Moderator
    Master

    Bonjour,

    il manque le nom de l’instrument et le timeframe pour pouvoir reproduire le problème et comprendre si ça vient:

    – des propositions qui ne font pas ce qui est demandé,

    – ou de l’interprétation du “non”,

    – ou bien, si ni l’un ni l’autre, d’une ligne de code proposée au départ non modifiée qui ne faisait déjà pas ce qui était espéré en amont des propositions (en l’occurence, quand je lis dans le post précédent “3 hh successifs en hausse” pas mentionné avant par rapport à plafondR, est-ce que le but du resist= average[3](hh-hh[1]) était pour un resist>0 de simuler 3 hh consécutifs de hausse? … car ce n’est pas ce que ça fait)

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

ATR uttilisé en trailing stop


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
finplus @finplus Participant
Summary

This topic contains 10 replies,
has 3 voices, and was last updated by JC_Bywan
2 years, 7 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 05/28/2023
Status: Active
Attachments: 3 files
Logo Logo
Loading...