You'll find in this post 2 different indicators: the first one is the Holt EMA displayed in only one color and compatible with prorealtime 10.2. The second one is the same moving average but displayd with different colors accordingly to its slope in degrees, I explain it below the first indicator code.
Coded by request on French forums.
//PRC_Holt EMA | indicator //28.12.2016 //Nicolas @ www.prorealcode.com //Sharing ProRealTime knowledge //Converted from EasyLanguage version // --- parameters // gmma = 40 // alpha = 20 // --- price = customclose if alpha > 1 then myalpha = 2.0/(alpha+1.0) else myalpha = alpha endif if gmma > 1 then mygamma = 2.0/(gmma+1) else mygamma = gmma endif If barindex = 1 then value1 = price b = 0.0 else value1 = (1-myalpha)*(value1 + b) + myalpha*price b = (1-mygamma)*b + mygamma*(value1 - value1) endif HoltEMA = value1 return HoltEMA
The code uses the Holt EMA as a function, measures its slope in degrees and returns the moving average of different colors according to its degree of inclination. The ITF file of the indicator and an example of how it looks o chart is attached.
The formula of measuring the slope in degrees is rather nice I must admit. I can use it to make it rather a dynamic variation of the color in RGB type "rainbow", because here we use only 5 different colors according to inclination of the slope and conditions tested on "angle1 " and "angle2 "which are 2 parameterizable variables however. In short, a good exercise and a new addition to the library of codes for the happiness of all. I leave everyone to look at what it returns, I have not well understood if the Holt EMA has some interest on my side.
Attention this indicator with variation of color is compatible only version 10.3.
//PRC_Holt EMA Slope color | indicator //28.12.2016 //Nicolas @ www.prorealcode.com //Sharing ProRealTime knowledge //Converted from EasyLanguage version // --- parameters //gmma = 40 //alpha = 20 //angle1 = 30 //angle2 = 60 // --- price = customclose if alpha > 1 then myalpha = 2.0/(alpha+1.0) else myalpha = alpha endif if gmma > 1 then mygamma = 2.0/(gmma+1) else mygamma = gmma endif If barindex = 1 then value1 = price K = 0.0 else value1 = (1-myalpha)*(value1 + K) + myalpha*price K = (1-mygamma)*K + mygamma*(value1 - value1) endif HoltEMA = value1 slope = atan((value1-(value1+value1)/2)/1.5/ticksize) condition2 = slope >= angle2 condition3 = slope >= angle1 condition4 = slope <= -1*angle2 condition5 = slope <= -1*angle1 //base color = r=255 g=255 b=0 //conditionnal colors = if condition2 then r=0 g=102 b=0 elsif condition3 then r=153 g=255 b=153 elsif condition4 then r=153 g=0 b=0 elsif condition5 then r=255 g=153 b=153 endif return HoltEMA coloured(r,g,b) as "Holt EMA"
No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.ProRealTime ITF files and other attachments :