DRAWCANDLE SUR LE GRAPHIQUE

Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
    Posts
  • #172057 quote
    Roland57800
    Participant
    Veteran

    Bonjour,

    Dans un codage, j’ai des zones dans lesquelles j’utilise la fonction DRAWCANDLE.

    Je  voudrais remplacer cette fonction pour avoir un coloriage plein sur la même zone.

    En utilisant BACKGROUNDCOLOR, la zone est coloriée du haut en bas du graphique.

    Comment peut-on faire pour ne colorier que la zone de DRAWCANDLE;

    Merci pour une idée

    Cordialement

    #172071 quote
    Nicolas
    Keymaster
    Master

    Voir ce sujet: https://www.prorealcode.com/topic/colorier-une-zone-entre-deux-lignes/

    (en attendant d’avoir une nouvelle instruction pour colorier entre 2 valeurs).

    #172083 quote
    Roland57800
    Participant
    Veteran

    Merci Nicolas,

    je vais essayer de m’en sortir, ça devrait correspondre à ce que je veux

     

    Bon après-midi

    Cordialement

    #172118 quote
    Roland57800
    Participant
    Veteran

    Bonjour NICOLAS,
    je reviens vers toi. j’ai essayé de coder le coloriage mais le résultat n’est pas parfait
    J’ai utilisé le code que tu avais publié en son temps ” CDC ATR Trailing Stop v2.1 ”
    J’arrive à bien faire le haut de l’indicateur et malheureusement je n’arrive pas à faire coïncider sur le bas avec la close
    ce qui fait que le coloriage descend sur tout le graphique ce qui est plutôt disgracieux.

    Voilà le bout de code

    ts1 = trail1
    ts2 = trail2
    
    if sc > trail2 then // ACHAT // ATR Ligne verte
    rtrail=0
    gtrail=180
    else
    rtrail=255 // VENTE // ATR Ligne rouge
    gtrail=0
    endif
    
    //drawcandle(trail1,trail2,trail1,trail2) coloured(rtrail,gtrail,0,10)bordercolor(0,0,0,0)
    
    Hst = Trail1-Trail2
    Sig = average[9,1](Hst)
    
    // Bar color for trade signal //
    Green = Hst>0 and Hst>Sig
    Red = Hst<0 and Hst<Sig
    
    sBuy = green and not green[1]
    sSell = red and not red[1]
    
    indicator1 = sc < trail2 // VENTE
    
    if indicator1 then
    drawtriangle (barindex[1],ts2[1],barindex,indicator1,barindex[0],ts2[0]) coloured(255,0,0,25) bordercolor(0,100,0,0)
    drawtriangle (barindex,indicator1,barindex[1],indicator1[1],barindex[1],close[1]) coloured(255,0,0,25) bordercolor(0,100,0,0)
    endif
    
    if sBuy then
    DRAWTEXT ("◯",barindex, ts2 - 0.004, dialog, bold, 23) coloured(0,0,255)
    DRAWTEXT ("B",barindex, ts2 - 0.004, dialog, bold, 18) coloured(0,0,255)
    endif
    if sSell then
    DRAWTEXT ("◯",barindex, ts2 + 0.004, dialog, bold, 23) coloured(255,69,0)
    DRAWTEXT ("S",barindex, ts2 + 0.004, dialog, bold, 18) coloured(255,0,0)
    endif
    
    return

    je te joins l’image

    D’où pourrais venir le problème.

    Merci pour ton aide.
    Bonne journée
    Cordialement

    Capture.png Capture.png
    #172120 quote
    JC_Bywan
    Moderator
    Master

    Bonjour, je reformate le message dans un instant (texte inclus en fin de prt code), pas besoin de reposter

    à vue d’oeil, le problème est que tes “drawtriangle” utilisent une ordonnée indicator1, et indicator1 vaut 0 ou 1 dans ton code, ce qui envoie ton remplissage jusqu’en bas du graphe au lieu de s’arrêter à la close si c’est là que tu voulais le borner.

    Edit: je déplace aussi le sujet du forum “discussions générales” vers le forum “support probuilder”

    #172124 quote
    Nicolas
    Keymaster
    Master

    Il faut en effet que tu repenses aux coordonnées de remplissage, un triangle possède trois sommets.

    #172136 quote
    Roland57800
    Participant
    Veteran

    Merci pour vos réponses, je vais revoir ça, enfin essayer.

    Bonne journée

    Cordialement

    #172162 quote
    Roland57800
    Participant
    Veteran

    Bonjour,
    mes compétences en codage ne me permettent pas de trouver la solution.
    J’y ai passé beaucoup de temps, je n’arrive pas à solutionner le problème.
    Une petite aide serait bienvenue.

    Bonne journée
    Cordialement

    #172163 quote
    JC_Bywan
    Moderator
    Master

    A essayer en modifiant les coordonnées des drawtriangle ainsi: (pas fait tourner le code n’ayant pas trail1, trail2, sc, qui je suppose sont soit dans une partie cachée, soit des paramètres non donnés, soit dans les codes ou liens précédents, peu importe), je repasse au cas où après un café.

    drawtriangle (barindex[1],ts2[1],barindex,close,barindex[0],ts2[0]) coloured(255,0,0,25) bordercolor(0,100,0,0)
    drawtriangle (barindex[1],ts2[1],barindex[1],close[1],barindex,close) coloured(255,0,0,25) bordercolor(0,100,0,0)
    #172172 quote
    Roland57800
    Participant
    Veteran

    Bonjour Noobyvan,
    merci pour la réponse

    c’était une de mes tentatives, mais c’est pas bon. Toujours le même résultat

    Le code est celui qu’avait publié Nicolas il y a déjà un moment.
    et je le trouve pertinent. je le republie en entier.

    // --- PARAMÈTRES ---
    // Fast Trail //
    AP1 = 5 //"fast ATR period",integer)       // ATR Period              // 5           ATR Periode RAPIDE, pour générer des signaux ACHAT / VENTE
    AF1 = 0.5 //"fast ATR multiplier",float)   // ATR Factor            // 0.5
    // Slow Trail //
    AP2 = 14 //"slow ATR perod",integer)       // ATR Period            // 10
    AF2 = 3.1 // "slow ATR multiplier",float)  // ATR Factor            // 2
    // --- end of settings
    
    SC = customclose
    SL1 = AF1*AverageTrueRange[AP1] // Stop Loss
    once trail1=sc-sl1
    
    if sc>trail1[1] and sc[1]>trail1[1] then
    trail1 = max(trail1[1],sc-sl1)
    else
    if sc<trail1[1] and sc[1]<trail1[1] then
    trail1=min(trail1[1],sc+sl1)
    else
    if sc>trail1[1] then
    trail1=sc-sl1
    else
    trail1=sc+sl1
    endif
    endif
    endif
    
    SL2 = AF2*AverageTrueRange[AP2] // Stop Loss
    
    if sc>trail2[1] and sc[1]>trail2[1] then
    trail2 = max(trail2[1],sc-sl2)
    else
    if sc<trail2[1] and sc[1]<trail2[1] then
    trail2=min(trail2[1],sc+sl2)
    else
    if sc>trail2[1] then
    trail2=sc-sl2
    else
    trail2=sc+sl2
    endif
    endif
    endif
    
    
    ts1 = trail1
    ts2 = trail2
    
    if sc > trail2 then                 // ACHAT           // ATR Ligne verte
    rtrail=0
    gtrail=180
    else
    rtrail=255                       // VENTE           // ATR Ligne rouge
    gtrail=0
    endif
    
    //drawcandle(trail1,trail2,trail1,trail2) coloured(rtrail,gtrail,0,10)bordercolor(0,0,0,0)
    
    
    
    Hst = Trail1-Trail2
    Sig = average[9,1](Hst)
    
    // Bar color for trade signal //
    Green = Hst>0 and Hst>Sig
    Red = Hst<0 and Hst<Sig
    
    sBuy = green and not green[1]
    sSell = red and not red[1]
    
    indicator1 = sc < trail2               // VENTE
    
    
    if indicator1 then
    drawtriangle (barindex[1],ts2[1],barindex,indicator1,barindex[0],ts2[0]) coloured(255,0,0,25) bordercolor(0,100,0,0)
    drawtriangle (barindex[1],ts2[1],barindex[1],close[1],barindex,close) coloured(255,0,0,25) bordercolor(0,100,0,0)
    endif
    
    
    if sBuy then
    DRAWTEXT ("◯",barindex, ts2 - 0.004, dialog, bold, 23) coloured(0,0,255)
    DRAWTEXT ("B",barindex, ts2 - 0.004, dialog, bold, 18) coloured(0,0,255)
    endif
    if sSell then
    DRAWTEXT ("◯",barindex, ts2 + 0.004, dialog, bold, 23) coloured(255,69,0)
    DRAWTEXT ("S",barindex, ts2 + 0.004, dialog, bold, 18) coloured(255,0,0)
    endif
    
    
    
    return

    Merci pour une idée
    Bonne journée

    #172174 quote
    Roland57800
    Participant
    Veteran

    Désolé Noobywan,
    je viens de revérifier ta réponse
    Je suis allé trop vite toute à l’heure, je n’avais pas vérifié la 1ère ligne du code

    C’est OK c’est ce que je veux.

    et en même temps je viens de comprendre mon erreur.
    Merci pour cette aide qui permet aussi d’avancer dans le codage

    Bonne journée
    Cordialement

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

DRAWCANDLE SUR LE GRAPHIQUE


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
Summary

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

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 06/20/2021
Status: Active
Attachments: 1 files
Logo Logo
Loading...