Modification des couleurs

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #222014 quote
    finplus
    Participant
    Master
    // Original Script > @DonovanWall
    // Adapted Version > @guikroth
     
    //////////////////////////////////////////////////////////////////////////
    // Settings for 5min chart, BTCUSDC. For Other coin, change the parameters
    //////////////////////////////////////////////////////////////////////////
     
    // Color variables
     
    downColorR = 255
    downColorG = 69
    downColorB = 0
     
    upColorR = 50
    upColorG = 205
    upColorB = 50
     
    midColorR = 0
    midColorG = 191
    midColorB = 255
     
    // Source
    src = customclose
     
    // Sampling Period
    // Settings for 5min chart, BTCUSDC. For Other coin, change the paremeters
    // per = defval=100, minval=1, "Sampling Period"
     
    // Range Multiplier
    // mult = defval=3.0, minval=0.1, "Range Multiplier"
     
    // Smooth Average Range
    wper = per*2 -1
    avrng = exponentialaverage[per](abs(src-src[1]))
    smrng = mult * exponentialaverage[wper](avrng)
     
    // Range Filter
    rngfilt = src
    If src > rngfilt[1] then
    If rngfilt[1] > src-smrng then
    rngfilt = rngfilt[1]
    Else
    rngfilt = src-smrng
    endif
    elsif rngfilt[1] < src+smrng then
    rngfilt = rngfilt[1]
    else
    rngfilt = src+smrng
    endif
    filt = rngfilt
     
    // Filter Direction
    upward = 0
    If filt > filt[1] then
    upward = upward[1]+1
    elsif filt < filt[1] then
    upward = 0
    else
    upward = upward[1]
    endif
    downward = 0
    If filt < filt[1] then
    downward = downward[1]+1
    elsif filt > filt[1] then
    downward = 0
    else
    downward = downward[1]
    endif
     
    // Target Bands
    hband = filt + smrng
    lband = filt - smrng
     
    // Colors
    If upward > 0 then
    filtcolorR = upColorR
    filtcolorG = upColorG
    filtcolorB = upColorB
    elsif downward > 0 then
    filtcolorR = downColorR
    filtcolorG = downColorG
    filtcolorB = downColorB
    else
    filtcolorR = midColorR
    filtcolorG = midColorG
    filtcolorB = midColorB
    endif
     
    if src > filt and src > src[1] and upward > 0 then
    barcolorR = upColorR
    barcolorG = upColorG
    barcolorB = upColorB
    elsif src > filt and src < src[1] and upward > 0 then
    barcolorR = upColorR
    barcolorG = upColorG
    barcolorB = upColorB
    elsif src < filt and src < src[1] and downward > 0 then
    barcolorR = downColorR
    barcolorG = downColorG
    barcolorB = downColorB
    elsif src < filt and src > src[1] and downward > 0 then
    barcolorR = downColorR
    barcolorG = downColorG
    barcolorB = downColorB
    else
    barcolorR = midColorR
    barcolorG = midColorG
    barcolorB = midColorB
    endif
     
    colorbetween(hband,filt,upColorR,upColorG,upColorB,30)
    colorbetween(lband,filt,downColorR,downColorG,downColorB,30)
     
    // Break Outs
    longCond = (src > filt and src > src[1] and upward > 0) or (src > filt and src < src[1] and upward > 0)
    shortCond = (src < filt and src < src[1] and downward > 0) or (src < filt and src > src[1] and downward > 0)
     
    CondIni = 0
    If longCond then
    CondIni = 1
    elsif shortCond then
    CondIni = -1
    else
    CondIni = CondIni[1]
    endif
     
    longCondition = longCond and CondIni[1] = -1
    shortCondition = shortCond and CondIni[1] = 1
     
    //Alerts
    If longCondition then
    Drawarrowup(barindex,low-AverageTrueRange[14](close)) coloured("green",255)
    endif
    If shortCondition then
    Drawarrowdown(barindex,high+AverageTrueRange[14](close)) coloured("red",255)
    endif
     
    Return filt style(line,4) coloured(barcolorR,barcolorG,barcolorB,255) as "Range Filter", hband style(line,2) coloured(upColorR,upColorG,upColorB,100) as "High Target", lband style(line,2) coloured(downColorR,downColorG,downColorB,100) as "Low Target"
    Share this
    

    Bonjour, j’ai une demande : comment modifier le code pour que lorsque les cours sont dans la zone verte ou rouge; celles-ci changent de couleur : par exemple la zone verte soit modifiée en bleue ou la zone rouge en orange par exemple ? Merci.

    #222015 quote
    LucasBest
    Participant
    Average

    Bonjour, la coloration des bandes se fait ligne 111 et 112 à l’aide des instructions colorbetween. Il suffit de mettre ces deux instructions entre des conditions (IF THEN ELSE END) en fonction de ce que l’on veut exactement et de changer les couleurs appliquée en fonction des conditions, sachant que la ligne du milieu est filt, le haut hband, le bas lband. Tu peux ne changer que la transparence en fonctions des conditions désirée (ici elle st à 30). Voir : https://www.prorealcode.com/documentation/colorbetween/

    finplus thanked this post
    #222016 quote
    finplus
    Participant
    Master

    Merci. Je vais essayer.

    Bonne journée.

    #222021 quote
    finplus
    Participant
    Master

    Bonjour, j’ai fait comme ceci mais le résultat n’est pas concluant pour l’intensité de la couleur de la zone du haut ne change pas. Une idée du problème SVP ?

     

    if close > filt then
    colorbetween(hband,filt,upColorR,upColorG,upColorB,40)
    endif
    if close < filt then
    colorbetween(hband,filt,upColorR,upColorG,upColorB,20)
    endif
    if close < filt then
    colorbetween(lband,filt,downColorR,downColorG,downColorB,40)
    endif
    if close > filt then
    colorbetween(lband,filt,downColorR,downColorG,downColorB,20)
    endif

    #222023 quote
    LucasBest
    Participant
    Average

    Il faut rassembler les instructions pour éviter de faire des tests redondant qui ralentissent inutilement l’indicateur…

    if close > filt then
    colorbetween(hband,filt,upColorR,upColorG,upColorB,60)
    colorbetween(lband,filt,downColorR,downColorG,downColorB,10)
    endif
    if close < filt then colorbetween(hband,filt,upColorR,upColorG,upColorB,10) colorbetween(lband,filt,downColorR,downColorG,downColorB,60) endif

    #222024 quote
    finplus
    Participant
    Master

    Merci.

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

Modification des couleurs


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
finplus @finplus Participant
Summary

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

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 10/04/2023
Status: Active
Attachments: No files
Logo Logo
Loading...