// Downloaded From https://www.WiseStockTrader.com _SECTION_BEGIN("Pattern Revealer"); //Pattern Recognition graph with shading /*TRENDLINES BREAKOUT*/ x = Cum(1); per = Param("Percent",3,1,5,1); s1=L; s11=H; pS = TroughBars( s1, per, 1 ) == 0; endt= LastValue(ValueWhen( pS, x, 1 )); startt=LastValue(ValueWhen( pS, x, 2 )); endS = LastValue(ValueWhen( pS, s1, 1 ) ); startS = LastValue( ValueWhen( pS, s1, 2 )); dtS =endt-startt; aS = (endS-startS)/dtS; bS = endS; trendlineS = aS * ( x -endt ) + bS; pR = PeakBars( s11, per, 1 ) == 0; endt1= LastValue(ValueWhen( pR, x, 1 )); startt1=LastValue(ValueWhen( pR, x, 2 )); endR = LastValue(ValueWhen( pR, s11, 1 ) ); startR = LastValue( ValueWhen( pR, s11, 2 )); DTR=ENDT1-STARTT1; aR = (endR-startR)/dtR; bR = endR; trendlineR = aR * ( x -endt1 ) + bR; BEGIN=Min(STARTT,STARTT1); TRS = IIf(x>BEGIN-10,trendlineS,-1e10); TRR = IIf(x>BEGIN-10,trendlineR,-1e10); Condcolor=(Cross(C,trendlineR) AND X>ENDT1) OR (Cross(trendlineS,C) AND X>ENDT); BarColor=IIf(Condcolor,7,1); Plot(C,"Close",BarColor,styleCandle); Plot(TRS,"Support",colorGreen,styleLine); Plot(TRR,"Resist",colorRed,styleLine); //////////////////////////////////////////// // Pattern Recognition in title bar // /////////////////////////////////////////// Lowline=Ends-starts; Highline=endr-startr; Wedge=IIf(Highline <0 AND Lowline > 0,1,0); DecendingTriangle=IIf(Highline < 0 AND Lowline==0,1,0); AscendingTriangle=IIf(Highline==0 AND Lowline > 0,1,0); DownChannel=IIf(Highline<0 AND Lowline<0,1,0); UpChannel=IIf(Highline>0 AND Lowline>0,1,0); BroadeningWedge=IIf(Highline > 0 AND Lowline < 0,1,0); /////////////////////////////////// // Bullish or Bearish breakout // ////////////////////////////////// BullishBreakout=Cross(C,trendlineR); BearishBreakout=Cross(trendlineS,C); Title=Name()+ WriteIf(wedge==1," Wedge","")+WriteIf(DecendingTriangle==1," Decending Triangle","")+WriteIf(AscendingTriangle==1,"Ascending Triangle","")/*+WriteVal(Lowline)*/+WriteIf(DownChannel==1," Downward Sloping Channel","")+WriteIf(UpChannel==1," Upward Sloping Channel","")+WriteIf(broadeningWedge==1," Broadening Wedge","")+"\n"+EncodeColor(colorGreen)+WriteIf(bullishbreakout,"Bullish Breakout",EncodeColor(colorRed)+WriteIf(bearishbreakout,"Bearish Breakout",""))/*+WriteVal(highline)*/; ///////////////////////////////////// // Automatic Analysis // //////////////////////////////////// Filter=AscendingTriangle OR DecendingTriangle OR Wedge OR DownChannel OR UpChannel OR BroadeningWedge OR Bullishbreakout OR bearishbreakout; AddTextColumn(WriteIf(bullishbreakout,"bullish Breakout",""),"BullBreak"); AddTextColumn(WriteIf(bearishBreakout,"Bearish Breakout",""),"BearBreak"); AddTextColumn(WriteIf(ascendingtriangle,"Ascending Triangle",WriteIf(decendingtriangle,"Decending Triangle",WriteIf(Wedge,"Wedge",WriteIf(DownChannel,"Down Channel",WriteIf(UpChannel,"Up Channel",WriteIf(BroadeningWedge,"Broadening Wedge","")))))),"Pattern"); AddColumn(C,"Close"); _SECTION_END(); _SECTION_BEGIN("Price"); SetChartOptions(0,chartShowArrows|chartShowDates); _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) )); Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); _SECTION_END(); _SECTION_BEGIN("Bollinger Bands"); P = ParamField("Price field",-1); Periods = Param("Periods", 15, 2, 100, 1 ); Width = Param("Width", 2, 0, 10, 0.05 ); Color = ParamColor("Color", colorLightGrey ); Style = ParamStyle("Style") | styleNoRescale;; Plot( bbt = BBandTop( P, Periods, Width ), "BBTop" + _PARAM_VALUES(), Color, Style ); Plot( bbb = BBandBot( P, Periods, Width ), "BBBot" + _PARAM_VALUES(), Color, Style ); PlotOHLC( bbt, bbt, bbb, bbb, "", ColorBlend( Color, colorWhite, 0.9 ), styleCloud | styleNoRescale, Null, Null, Null, -1 ); _SECTION_END(); _SECTION_BEGIN("Keltner Bands"); P = ParamField("Price field",-1); Periods = Param("Periods", 15, 2, 300, 1 ); Width = Param("Width", 2, 0, 10, 0.05 ); Color = ParamColor("Color", colorCycle ); Style = ParamStyle("Style"); CenterLine = MA( P, Periods ); KTop = CenterLine + Width * ATR( Periods ); KBot = CenterLine - Width * ATR( Periods ); Plot( KTop, "KBTop" + _PARAM_VALUES(), Color, Style ); Plot( KBot, "KBBot" + _PARAM_VALUES(), Color, Style ); _SECTION_END();