Universal Channel Oscillator screener
Forums › ProRealTime forum Français › Support ProScreener › Universal Channel Oscillator screener
- This topic has 4 replies, 2 voices, and was last updated 4 years ago by finplus.
-
-
04/29/2020 at 9:15 AM #128775
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.
Universal Channel oscillator123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990//PRC_OnChart Oscillator | indicator//23.05.2018//Nicolas @ www.prorealcode.com//Sharing ProRealTime knowledge///////////////////////INDICATOR_UNIVERSALmaPrice = customclosebandedge= UniversalPeriodwhitenoise= (maPrice - maPrice[min(UniversalPeriod,UniversalFilter)])/2if barindex>bandedge then// super smoother filtera1= Exp(-1.414 * 3.14159 / bandedge)b1= 2*a1 * Cos(1.414*180 /bandedge)c2= b1c3= -a1 * a1c1= 1 - c2 - c3filt= c1 * (whitenoise + whitenoise[1])/2 + c2*filt[1] + c3*filt[1]filt1 = filtif ABS(filt1)>pk[1] thenpk = ABS(filt1)elsepk = 0.991 * pk[1]endifif pk=0 thendenom = -1elsedenom = pkendifif denom = -1 thenresult = result[1]elseresult = filt1/pkendifendif///////////////////////////////////////////////////dTR = 0for i = 0to ATRperiod-1dTR=dTR+max(abs(Dhigh(i)-Dlow(i)),max(abs(Dhigh(i)-Dclose(i+1)),abs(Dlow(i)-Dclose(i+1))))nextdtr=dtr/MAX(1,TightenChannel)avgRange = dTRmaValue = average[max(1,AveragePeriod),AverageMethod](maPrice)ResultValue = RESULTBuffer1=maValueBuffer2=maValue+(avgRange*((overBought)))Buffer3=maValue-(avgRange*((overSold)))Buffer4=maValue+(ResultValue)/1*avgRangeBuffer5=maValue+(avgRange*((10/10)))Buffer6=maValue+(avgRange*((-10/10)))if UniAvg thenUniAvgline=Average[UniAvgPeriod](buffer4)ELSEUniAvgline=UNDEFINEDendif////////////////////////////////////////////////////////////////////if (buffer2 > buffer2[1]) and (buffer3 > buffer3[1]) thendrawtext ("▲", BarIndex, buffer6 - abs (1.5*(buffer3 - buffer6)), SansSerif,BOLD, 12) COLOURED (32,0, 192)endifif (buffer2 < buffer2[1]) and (buffer3 < buffer3[1]) thendrawtext ("▼", BarIndex, buffer5 + abs (1.5*(buffer5 - buffer2))) COLOURED(255,0,0)endif/////////////////////////////////////////////////////////////////////////MyUNI = resultR = 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"04/29/2020 at 12:26 PM #12880504/29/2020 at 1:01 PM #128811Dé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à.
04/29/2020 at 1:54 PM #128827Le 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.
04/29/2020 at 1:58 PM #128834 -
AuthorPosts
Find exclusive trading pro-tools on