MACD With Dotted Crossover System |
//www.aflcode.com PeriodFast = Param( "Fast EMA", 3, 2, 200, 1 ); PeriodSlow = Param( "Slow EMA", 34, 2, 200, 1 ); PeriodSignal = Param( "Signal EMA", 9, 2, 200, 1 ); MACDInd = MACD(PeriodFast, PeriodSlow ); SigInd = Signal(PeriodFast, PeriodSlow , PeriodSignal ); HistInd = MACDInd - SigInd ; _N( macdStr = WriteVal( PeriodFast, 1.0 )+","+WriteVal( PeriodSlow , 1.0 ) ); _N( sigStr = macdStr + ","+WriteVal( PeriodSignal , 1.0 ) ); // Get displayed min and max value of MACD and MACD-H, to rescale it for better visibility // BarsDisplayed = BarsSince( Status("barvisible") AND NOT Ref(Status("barvisible"),-1) ); BarsDisplayed = IIf( IsEmpty(BarsSince( Status("barvisible") AND NOT Ref(Status("barvisible"),-1) ) ), BarIndex(), BarsSince( Status("barvisible") AND NOT Ref(Status("barvisible"),-1) ) ); scMACDMax = LastValue(HHV(Max(MACDInd, sigInd), BarsDisplayed ) ); scMACDMin = LastValue(-HHV(Max(-MACDInd, -sigInd), BarsDisplayed ) ); scaleMACD = Max( abs(scMACDMax), abs(scMACDMin) ); ////////////////////////////////////////////////////// scHistMax = LastValue(HHV(HistInd, BarsDisplayed ) ); scHistMin = LastValue(LLV(HistInd, BarsDisplayed ) ); scaleHist = Max( abs(scHistMax), abs(scHistMin) ); //////////////////////// MD=MACDInd; SD=SigInd; X=abs(MD-SD); ColorMD=IIf(MD>Ref(MD,-1),colorYellow,colorRed); //HistColour = IIf( HistInd > Ref(HistInd,-1), ColorRGB(0,120,10), colorCustom13 ); //Plot( HistInd, "", HistColour, styleHistogram | styleThick | styleOwnScale|styleNoLabel, -scaleHist * 1.2, scaleHist * 1.2 ); //Plot( HistInd, "", HistColour, styleDots | styleThick | styleOwnScale , -scaleHist * 1.2, scaleHist * 1.2 ); Plot( MD*3, "", ColorMD,styleNoLabel|styleThick); Plot( SD*3 , "", colorGold,styleNoLabel|styleThick|styleDashed); _SECTION_END(); // Paste the code below to your price chart somewhere and green ribbon means both // both MACD and ADX trending up so if the red ribbon shows up the MACD and the ADX // are both trending down. _SECTION_BEGIN("trending ribbon"); uptrend=PDI()>MDI()AND Signal()<MACD(); downtrend=MDI()>PDI()AND Signal()>MACD(); //Plot( 5, /* defines the height of the ribbon in percent of pane width */"ribbon", //IIf( uptrend, colorGreen, IIf( downtrend, colorRed, 0 )), /* choose color */styleOwnScale|styleArea|styleNoLabel, -0.5, 100 ); Color00=IIf( uptrend, ColorRGB(10,200,20), ColorRGB(100,10,120)); Plot( 0 , "", Color00,styleNoLabel|styleThick); Color0=IIf( uptrend, ColorRGB(10,200,20), ColorRGB(30,10,20)); PlotOHLC( 0, 0.5 , -0.5 ,-0.5 , "MACD31016", IIf(0.5 > -0.5 ,Color0,Color0), styleCloud|styleNoLabel); //////////////////////////////////////////TTM SQUEEZE//////////////////////////////////////////////////////// function Momentum( array, period ) { return array - Ref( array, -period ); } chanPeriod = Param("Channel Period", 20); bolBandStdDev = Param("Bollinger Band StdDev",2); keltStdDev = Param("Keltner Band StdDev",1.5); momPeriod = Param("Momemtum Period", 12 ); momEMA = Param("Momentum EMA Period", 5); highBBChl = BBandTop( C, chanPeriod, bolBandStdDev); lowBBChl = BBandBot( C, chanPeriod, bolBandStdDev); centerLine = MA( C, chanPeriod ); highKeltn = centerLine + keltStdDev * ATR(chanPeriod); lowKeltn = centerLine - keltStdDev * ATR(chanPeriod); momHist = EMA(Momentum(C, momPeriod),momEMA); BBUp = IIf(highBBChl > highKeltn AND momHist > 0, momHist, 0); BBDo = IIf(lowBBChl < lowKeltn AND momHist < 0, momHist, 0); BBMid = IIf(BBUp == 0 AND BBDo == 0, momHist, 0); Buy = BBUp; Sell = BBDo; Buy = ExRem(Buy,Sell); Sell = ExRem(Sell,Buy); ColorA=IIf(BBUp>Ref(BBUp,-1),ColorRGB(0,150,0),ColorRGB(0,70,100)); ColorB=IIf(BBDo>Ref(BBDo,-1),ColorRGB(150,0,0),ColorRGB(70,0,100)); Plot(BBUp, "TTM Squeeze - Momentum Up", ColorA,styleHistogram | styleThick|styleNoLabel); Plot(BBUp, "TTM Squeeze - Momentum Up", ColorA,styleThick | styleThick|styleNoLabel); Plot(BBDo, "Momentum Down", ColorB, styleHistogram | styleThick|styleNoLabel); Plot(BBDo, "Momentum Down", ColorB, styleThick | styleThick|styleNoLabel); Plot(BBMid, "Momentum Mid", IIf(BBMid > 0, colorLightBlue, colorBrown), styleHistogram | styleThick|styleNoLabel); Plot(BBMid, "Momentum Mid", IIf(BBMid > 0, colorLightBlue, colorBrown), styleThick | styleThick|styleNoLabel); PlotShapes( shapeUpArrow*Buy, colorBrightGreen,0, 0, 0); PlotShapes( shapeDownArrow*Sell, colorRed,0, 0, 0); ///////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////// Buy=Cross(MD,SD) AND SD>=Ref(SD,-1); Sell=Cross(SD,MD) AND SD<=Ref(SD,-1); Filter =(Buy AND BBDo>=Ref(BBDo,-1)AND BBDo<-30) OR (Sell AND BBUp<=Ref(BBUp,-1)AND BBUp>30);
Sign up here with your email
ConversionConversion EmoticonEmoticon