//@Name:Reversing MACD //@Description:Reversing MACD. As described in Stocks & Commodities Magazine, January 2012. //@Type:Historical //@Future:Yes // Care has been taken in preparing this code but it is provided without guarantee. // You are welcome to modify and extend it. Please add your name as a modifier if you distribute it. //Coded by: Richard Chiesa, ShareScript Support var macdShort = 12; var macdLong = 26; var signalPeriod = 9; var macdEqSignal = 9; function init(staus) { setRange(Range.Parent); setSeriesLineStyle(0, 0, 1); setSeriesLineStyle(1, 0, 1); setSeriesLineStyle(2, 0, 1); //setSeriesColour(0, Colour.LightRed) setSeriesColour(1, Colour.LightRed); setSeriesColour(2, Colour.LightBlue); } function getGraph(share, data) { var ma1 = new MA(macdShort,MA.Exponential); var ma2 = new MA(macdLong,MA.Exponential); var ma3 = new MA(macdEqSignal,MA.Exponential); var macd1 = new MACD(macdShort,macdLong,signalPeriod); var signal = []; var ema1 = []; var ema2 = []; var eqSignal = []; var fShort = 2 / (macdShort + 1); var fLong = 2 / (macdLong + 1); var macdZero = []; var macdEq = []; var macd for (var i=0; i0) { macdEq[i+1] = (((fShort-1)*ema1[i]) - ((fLong-1)*ema2[i]) + (ema1[i-1]-ema2[i-1])) / (fShort - fLong); eqSignal[i+1] = ma3.getNext(macdEq[i+1]); } } return [macdZero,macdEq,eqSignal]; }