Universal Channel Oscillator screener

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #128775 quote
    finplus
    Participant
    Master

    Bonjour, je souhaiterais à partir de l’indicateur trouvé sur ce site un screener identifiant les changements de couleurs des bougies du “channel” (par exemple lorsque celles-ci passent du rouge au jaune ou du jaune au vert ou du vert au jaune)?

    merci d’avance.

    PS : j’ai légèrement modifié l’indicateur de façon à avoir en visu l’oversold et overbought lorsque ces 2 paramètres évoluent dans le même sens.

    //PRC_OnChart Oscillator | indicator
    //23.05.2018
    //Nicolas @ www.prorealcode.com
    //Sharing ProRealTime knowledge
    ///////////////////////INDICATOR_UNIVERSAL
    maPrice = customclose
    bandedge= UniversalPeriod
    whitenoise= (maPrice - maPrice[min(UniversalPeriod,UniversalFilter)])/2
    if barindex>bandedge then
    // super smoother filter
    a1= Exp(-1.414 * 3.14159 / bandedge)
    b1= 2*a1 * Cos(1.414*180 /bandedge)
    c2= b1
    c3= -a1 * a1
    c1= 1 - c2 - c3
    filt= c1 * (whitenoise + whitenoise[1])/2 + c2*filt[1] + c3*filt[1]
    
    filt1 = filt
    
    if ABS(filt1)>pk[1] then
    pk = ABS(filt1)
    else
    pk = 0.991 * pk[1]
    endif
    
    if pk=0 then
    denom = -1
    else
    denom = pk
    endif
    
    if denom = -1 then
    result = result[1]
    else
    result = filt1/pk
    endif
    endif
    
    ///////////////////////////////////////////////////
    
    dTR = 0
    for i = 0to ATRperiod-1
    dTR=dTR+max(abs(Dhigh(i)-Dlow(i)),max(abs(Dhigh(i)-Dclose(i+1)),abs(Dlow(i)-Dclose(i+1))))
    next
    dtr=dtr/MAX(1,TightenChannel)
    avgRange = dTR
    
    maValue = average[max(1,AveragePeriod),AverageMethod](maPrice)
    
    ResultValue = RESULT
    
    Buffer1=maValue
    Buffer2=maValue+(avgRange*((overBought)))
    Buffer3=maValue-(avgRange*((overSold)))
    Buffer4=maValue+(ResultValue)/1*avgRange
    Buffer5=maValue+(avgRange*((10/10)))
    Buffer6=maValue+(avgRange*((-10/10)))
    
    
    if UniAvg  then
    UniAvgline=Average[UniAvgPeriod](buffer4)
    ELSE
    UniAvgline=UNDEFINED
    endif
    
    
    ////////////////////////////////////////////////////////////////////
    
    if (buffer2 > buffer2[1]) and (buffer3 > buffer3[1]) then
    drawtext ("▲", BarIndex, buffer6 - abs (1.5*(buffer3 - buffer6)), SansSerif,BOLD, 12) COLOURED (32,0, 192)
    endif
    
    if (buffer2 < buffer2[1]) and (buffer3 < buffer3[1]) then
    drawtext ("▼", BarIndex, buffer5 + abs (1.5*(buffer5 - buffer2))) COLOURED(255,0,0)
    endif
    
    /////////////////////////////////////////////////////////////////////////
    
    MyUNI = result
    R = 50+(200-MyUNI*400)
    G = 50+(200+MyUNI*500)
    
    
    
    drawcandle(buffer2,buffer2,buffer3,buffer3) coloured(r,g,0,40)
    
    
    /////////////////////////////////////////////////////////////////////////
    
    return Buffer1 coloured(0,0,0) style(dottedline,1) as "0 level", Buffer2 coloured(0,0,0) style(dottedline,1) as "overbought level", Buffer3 coloured(0,0,0) style(dottedline,1) as "oversold level", Buffer4 coloured(0,130,250) style(LINE,2) as "UNIVERSAL VALUE",Buffer5 AS"1 level",Buffer6 AS"-1 level",UniAvgline coloured(250,150,0) style(dottedline,2) AS" UniversalAverage"
    
    #128805 quote
    Nicolas
    Keymaster
    Master

    Ce serait sympa de poster les paramètres en texte, ça m’éviterait de les retaper entièrement 🙂 , par ailleurs ils seront indispensables dans le code du screener (voir image).

    parametres-universal-oscillator.png parametres-universal-oscillator.png
    #128811 quote
    finplus
    Participant
    Master

    Désolé. Je n’avais pas fait le lien :

    OverBought : 0.8

    Oversold : 0.8

    UniAvg : je ne sais pas : la case est cochée dans la fenêtre

    UniAvgPeriod : 3

    UniversalPeriod : 20

    UniversalFilter : 2

    TightenChannel : 5

    ATRperiod : 20

    AveragePeriod : 20

    AverageMethod : simple

     

    Voilà.

    Capture-d’écran-2020-04-29-à-13.55.54.png Capture-d’écran-2020-04-29-à-13.55.54.png
    #128827 quote
    Nicolas
    Keymaster
    Master

    Le problème c’est que les valeurs des couleurs ne sont pas totalement rouge ou totalement jaune, c’est une variation d’un mélange de rouge et de vert entre 0 et XXX.

    Tu peux ajouter les variables R et G dans la fonction RETURN, et tu pourras constater par toi même. Dans ce cas, merci de me préciser les valeurs à prendre en compte pour identifier les changements.

    #128834 quote
    finplus
    Participant
    Master

    Oui, j’ai compris la problématique. Je ne sais pas comment faire. Je vais y réfléchir. Merci.

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

Universal Channel Oscillator screener


ProScreener : Scanners de Marché & Détection

New Reply
Author
author-avatar
finplus @finplus Participant
Summary

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

Topic Details
Forum: ProScreener : Scanners de Marché & Détection
Language: French
Started: 04/29/2020
Status: Active
Attachments: 2 files
Logo Logo
Loading...