// Downloaded From https://www.WiseStockTrader.com _SECTION_BEGIN("smooth Stochastic osci"); Title = EncodeColor( colorYellow ) + _DEFAULT_NAME() + EncodeColor( ColorRGB( 111, 208, 255 ) ) + " (" + FullName() + ") " + EncodeColor( colorGold ) + Interval( 2 ) + " " + Date() + " " + " Open " + O + " " + "High " + H + " " + "Low " + L + " " + EncodeColor( ColorRGB( 111, 208, 255 ) ) + "Close " + C + " ( " + WriteVal( ( C - Ref( C, -1 ) ) * 100 / Ref( C, -1 ), 1.1 ) + " %)" + EncodeColor( colorGold ) + " Volume= " + WriteVal( V, 1.0 ); cx = Param( "cxposn", 0, 0, 1250, 1 ); cy = Param( "cyposn", 42, 0, 500, 1 ); GfxSelectFont( "Candara", 18, 98, False ); GfxSetBkColor( colorBlack ); GfxSetTextColor( colorWhite ); GfxTextOut( "L.T.P. " + C + " ", cx, cy ); R = ((HHV(H,60) - C) /(HHV (H,60) -LLV (L,60))) *-100; Period = 10; EMA1 = EMA(R,Period); EMA2 = EMA(EMA1,5); se = EMA1 - EMA2; ni = EMA1 + se; PR = 0-abs(ni); ra = MA(PR,5); na = PR>=ra AND PR>=Ref(PR,-1) ; turun = (PR < ra) OR PR>= ra AND PR< Ref(PR,-1) ; barcolor = IIf( turun,colorRed, IIf( na, colorBrightGreen, 7)); Graph0 = PR; Graph1 = ra; Graph0BarColor = ValueWhen( barcolor != 0, barcolor ); pds = 16; /*Periods */ /*pds = Optimize("pds",13,2,20,1); */ slw = 6; /*Slowing for Full Stoch%K*/ /*slw = Optimize("slw",3,1,14,1); */ slwd = 4; /*Slowing for Full Stoch%D*/ /*slwd = Optimize("slwd",3,1,14,1); */ ob = 80; /*Overbought */ /*ob = Optimize("ob",83,65,88,1); */ os = 15; /*Oversold */ /*os = Optimize("os",24,20,50,1); */ FSK = 100*(C-LLV(L,pds))/(HHV(H,pds)-LLV(L,pds)); // FASTSTOCHK FLSK = EMA( FSK, slw ); // FULLSTOCHK DSK = ((FLSK-LLV(FLSK,pds))/(HHV(FLSK,pds)-LLV(FLSK,pds))) * 100; DLSK = EMA( DSK, slwd ); // FULLSTOCHD Buy = Cross (DSK ,DLSK ); Sell = Cross (DLSK ,DSK); Cover=Buy; Short=Sell; Plot( MA( DLSK, 5 ), "MA-3"+_PARAM_VALUES(), ParamColor( "ColorD", colorRed ), styleLine); Plot( DLSK, "Stochastic %D"+_PARAM_VALUES(), ParamColor( "ColorK", colorBlue )); Plot(Ob,"Overbought Level",colorRed, styleLine); Plot(Os,"Oversold Level",colorGreen, styleLine); PlotShapes( Buy * shapeUpArrow + Sell * shapeDownArrow, IIf( Buy, colorGreen, colorRed ) ); _SECTION_BEGIN("Candle Identification"); O1 = Ref(O,-1);O2 = Ref(O,-2); H1 = Ref(H,-1);H2 = Ref(H,-2); L1 = Ref(L,-1);L2 = Ref(L,-2); C1 = Ref(C,-1);C2 = Ref(C,-2); function CandlePattern(P) { global PatternName; if(P == 0) { PatternName = "NearDoji"; Pv = (abs(O-C)<= ((H-L)*0.1)); } else if(P == 1) { PatternName = "BlackCandle"; Pv = (O>C); } else if(P == 2) { PatternName = "LongBlackCandle"; Pv = (O>C AND (O-C)/(.001+H-L)>.6); } else if(P == 3) { PatternName = "SmallBlackCandle"; Pv = ((O>C) AND ((H-L)>(3*(O-C)))); } else if(P == 4) { PatternName = "WhiteCandle"; Pv = (C>O); } else if(P == 5) { PatternName = "LongWhiteCandle"; Pv = ((C>O) AND ((C-O)/(.001+H-L)>.6)); } else if(P == 6) { PatternName = "SmallWhiteCandle"; Pv = ((C>O) AND ((H-L)>(3*(C-O)))); } else if(P == 7) { PatternName = "BlackMaubozu"; Pv = (O>C AND H==O AND C==L); } else if(P == 8) { PatternName = "WhiteMaubozu"; Pv = (C>O AND H==C AND O==L); } else if(P == 9) { PatternName = "BlackClosingMarubozu"; Pv = (O>C AND C==L); } else if(P == 10) { PatternName = "WhiteClosingMarubozu"; Pv = (C>O AND C==H); } else if(P == 11) { PatternName = "BlackOpeningMarubozu"; Pv = (O>C AND O==H); } else if(P == 12) { PatternName = "WhiteOpeningMarubozu"; Pv = (C>O AND O==L); } else if(P == 13) { PatternName = "HangingMan"; Pv = (((H-L)>4*(O-C)) AND ((C-L)/(.001+H-L)>= 0.75) AND ((O-L)/(.001+H-L)>= 0.75)); } else if(P == 14) { PatternName = "Hammer"; Pv = (((H-L)>3*(O-C)) AND ((C-L)/(.001+H-L)>0.6) AND ((O-L)/(.001+H-L)>0.6)); } else if(P == 15) { PatternName = "InvertedHammer"; Pv = (((H-L)>3*(O-C)) AND ((H-C)/(.001+H-L)>0.6) AND ((H-O)/(.001+H-L)>0.6)); } else if(P == 16) { PatternName = "ShootingStar"; Pv = (((H-L)>4*(O-C)) AND ((H-C)/(.001+H-L)>= 0.75) AND ((H-O)/(.001+H-L)>= 0.75)); } else if(P == 17) { PatternName = "BlackSpinningTop"; Pv = ((O>C) AND ((H-L)>(3*(O-C))) AND (((H-O)/(.001+H-L))<.4) AND (((C-L)/(.001+H-L))<.4)); } else if(P == 18) { PatternName = "WhiteSpinningTop"; Pv = ((C>O) AND ((H-L)>(3*(C-O))) AND (((H-C)/(.001+H-L))<.4) AND (((O-L)/(.001+H-L))<.4)); } else if(P == 19) { PatternName = "BearishAbandonedBaby"; Pv = ((C1 == O1) AND (C2>O2) AND (O>C) AND (L1>H2) AND (L1>H)); } else if(P == 20) { PatternName = "BearishEveningDojiStar"; Pv = ((C2>O2) AND ((C2-O2)/(.001+H2-L2)>.6) AND (C2O1) AND ((H1-L1)>(3*(C1-O1))) AND (O>C) AND (OO1 AND ((C1+O1)/2)>C AND O>C AND O>C1 AND C>O1 AND (O-C)/(.001+(H-L)>0.6)); } else if(P == 22) { PatternName = "BearishEngulfing"; Pv = ((C1>O1) AND (O>C) AND (O>= C1) AND (O1>= C) AND ((O-C)>(C1-O1))); } else if(P == 23) { PatternName = "ThreeOutsideDownPattern"; Pv = ((C2>O2) AND (O1>C1) AND (O1>= C2) AND (O2>= C1) AND ((O1-C1)>(C2-O2)) AND (O>C) AND (CC2) AND (C>O) AND (L2>H1) AND (L>H1)); } else if(P == 25) { PatternName = "BullishMorningDojiStar"; Pv = ((O2>C2) AND ((O2-C2)/(.001+H2-L2)>.6) AND (C2>O1) AND (O1>C1) AND ((H1-L1)>(3*(C1-O1))) AND (C>O) AND (O>O1)); } else if(P == 26) { PatternName = "BullishEngulfing"; Pv = ((O1>C1) AND (C>O) AND (C>= O1) AND (C1>= O) AND ((C-O)>(O1-C1))); } else if(P == 27) { PatternName = "ThreeOutsideUpPattern"; Pv = ((O2>C2) AND (C1>O1) AND (C1>= O2) AND (C2>= O1) AND ((C1-O1)>(O2-C2)) AND (C>O) AND (C>C1)); } else if(P == 28) { PatternName = "BullishHarami"; Pv = ((O1>C1) AND (C>O) AND (C<= O1) AND (C1<= O) AND ((C-O)<(O1-C1))); } else if(P == 29) { PatternName = "ThreeInsideUpPattern"; Pv = ((O2>C2) AND (C1>O1) AND (C1<= O2) AND (C2<= O1) AND ((C1-O1)<(O2-C2)) AND (C>O) AND (C>C1) AND (O>O1)); } else if(P == 30) { PatternName = "PiercingLine"; Pv = ((C10.6)); } else if(P == 31) { PatternName = "BearishHarami"; Pv = ((C1>O1) AND (O>C) AND (O<= C1) AND (O1<= C) AND ((O-C)<(C1-O1))); } else if(P == 32) { PatternName = "ThreeInsideDownPattern"; Pv = ((C2>O2) AND (O1>C1) AND (O1<= C2) AND (O2<= C1) AND ((O1-C1)<(C2-O2)) AND (O>C) AND (CO*1.01) AND (C1>O1*1.01) AND (C2>O2*1.01) AND (C>C1) AND (C1>C2) AND (OO1) AND (O1O2) AND (((H-C)/(H-L))<.2) AND (((H1-C1)/(H1-L1))<.2) AND (((H2-C2)/(H2-L2))<.2); } else if(P == 34) { PatternName = "DarkCloudCover"; Pv = (C1>O1*1.01) AND (O>C) AND (O>H1) AND (C>O1) AND (((C1+O1)/2)>C) AND (C>O1) AND (MA(C,13)-Ref(MA(C,13),-4)>0); } else if(P == 35) { PatternName = "ThreeBlackCrows"; Pv = (O>C*1.01) AND (O1>C1*1.01) AND (O2>C2*1.01) AND (CC1) AND (OC2) AND (O11.01*H1; } else if(P == 40) { PatternName = "BigGapDown"; Pv = H<0.99*L1; } else if(P == 41) { PatternName = "HugeGapUp"; Pv = L>1.02*H1; } else if(P == 42) { PatternName = "HugeGapDown"; Pv = H<0.98*L1; } else if(P == 43) { PatternName = "DoubleGapUp"; Pv = GapUp() AND Ref(GapUp(),-1); } else if(P == 44) { PatternName = "DoubleGapDown"; Pv = GapDown() AND Ref(GapDown(),-1); } return Pv; } PatternNameList = ""; for(Cp=0; Cp<=44; Cp++) { VarSet("Pattern"+NumToStr(Cp,1.0),CandlePattern(cP)); PatternNameList = PatternNameList +PatternName+","; } BI = BarIndex(); SelectedBar = SelectedValue(BI) -BI[0]; //Selectedbar = Status("lastvisiblebar")-1; PStr=""; for(Cp=0; Cp<=44; Cp++) { Temp = VarGet("Pattern"+NumToStr(Cp,1.0)); if(temp[SelectedBar]) Pstr=Pstr+"#"+NumToStr(Cp,1.0)+" - "+StrExtract(PatternNameList,Cp)+"\n"; } FS=Param("Font Size",11,11,100,1); GfxSelectFont("Times New Roman", FS, 700, True ); GfxSetBkMode( colorWhite ); GfxSetTextColor( ParamColor("Color",colorWhite) ); Hor=Param("Horizontal Position",237,1,1200,1); Ver=Param("Vertical Position",50,1,830,1); GfxTextOut("Candle Reader= "+Pstr, Hor , Ver ); SetChartOptions( 1, chartShowDates ); BKswitch = ParamToggle("Background Color","On,Off"); OUTcolor = ParamColor("Outer Panel Color",colorTeal); INUPcolor = ParamColor("Inner Panel Upper",colorTeal); INDNcolor = ParamColor("Inner Panel Lower",colorBlack); TitleColor = ParamColor("Title Color ",colorBlack); if (NOT BKswitch) { SetChartBkColor(OUTcolor); // color of outer border SetChartBkGradientFill(INUPcolor,INDNcolor,TitleColor); // color of inner panel } _SECTION_END();