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"