/*Candle Stick Chart For Stock*/
/*Body Colors*/
Whitebody=C>=O;
Blackbody=O>C;
Realbody =abs(O-C);
Realbodypercent = (Realbody/Ref(C, -1))*100;
Range = H-L;
Percentdiff =((C - Ref(C, -1))/Ref(C, -1))*100;
Tiny = 0.25;
Small = 1;
Medium = 3;
Large = 5;
/*Body Size*/
Smallbody = Realbodypercent <= Small;
Mediumbody =Small < Realbodypercent < Medium ;
Largebody = Medium < Realbodypercent < Large ;
Extralargebody = Realbodypercent >= Large;
/*Shadows*/
Lowershadow = abs(Min(O,C) - L);
Lowershadowpercent = ((abs(Min(O,C) - L))/Ref(C, -1))*100;
Uppershadow =abs( H - Max(O,C));
Uppershadowpercent = ((abs( H - Max(O,C)))/Ref(C, -1))*100;
Lowershadow1 = Min(Ref(O, -1) ,C) - Min(L,Ref(L,-1));
Uppershadow1 = Max(H, Ref(H,-1)) - Max(Ref(O, -1),C);
Range1= Max(H, Ref(H,-1))-Min(L,Ref(L,-1));
Realbody1 =abs(C-Ref(O,-1));
Min1 = Min( L, Ref(L,-1));
Max1 = Max(H, Ref(H,-1));
Lowershadow2 = Min(Ref(O, -2) ,C) - Min(Min1, Ref(L,-2));
Uppershadow2 = Max(Max1,Ref(H,-2)) - Max(Ref(O, -2),C);
Range2= Max(Max1,Ref(H,-2))-Min(Min1,Ref(L,-2));
Realbody2 =abs(C-Ref(O,-2));
Smalluppershadow= Uppershadowpercent <= Tiny;
Smalllowershadow= Lowershadowpercent <= Tiny;
Largeuppershadow= Uppershadowpercent >= Small;
Largelowershadow= Lowershadowpercent >=Small;
/*Gaps*/
Upgappoint = O - Ref(C,-1);
Upgap= O >= (Ref(C, -1) + Ref(C, -1)*0.005);
Downgap= O <= (Ref(C, -1) - Ref(C, -1)*0.005);
/*Candlestick Chart Of Bullish Sentiment Start */
Engulfingbullish=Open<Ref(Low,-1) AND Close>Ref(High,-1) AND Close>=Open*1.01 AND LLV(Low, 5)==Low AND LLV(Low, 5)==Min(Low, Ref(Low,-1));
Hammer=Open>=(High-((High-Low)*.25)) AND Close>=(High-((High-Low)*.25)) AND LLV(Low,5)==Low AND LLV(Low, 5)==Min(Low, Ref(Low,-1));
Matchinghigh=HHV(High,8)==HHV(High,2) AND Ref(Close,-1)>=Ref(Open,-1)*.99 AND abs(High-Ref(High,-1))<=High*.0025 AND Open> Close AND LLV(Low, 5)==Min(Low, Ref(Low,-1));
/*Candlestick Chart Of Bearish Sentiment Start */
Engulfingbearish=Open>Ref(High,-1) AND Close<Ref(Low,-1) AND HHV(High, 5)== Max(High, Ref(High, -1));
Matchinglow=LLV(Low,8)==LLV(Low,2) AND Ref(Close,-1)<=Ref(Open,-1)*.99 AND abs(Close-Ref(Close,-1))<=Close*.0025 AND Open>Ref(Close,-1) AND Open<=(High-((High-Low)*.5)) AND HHV(High, 5)== Max(High, Ref(High, -1));
Shootingstar=Low>Ref(High,-1) AND Open<=(Low+((High-Low)*.25)) AND Close<=(Low+((High-Low)*.25)) AND HHV(High, 5)== Max(High, Ref(High, -1));
/*Bullish Doji Reversal Set Ups*/
OnebarDojibullish1 = abs(Close-Open) <= (Close*.0025) AND LLV(Low, 8)==Min(Low, Ref(Low,-1));
OnebarDojibullish2 = abs(Open-Close)<=((High-Low)*0.1) AND LLV(Low, 8)==Min(Low, Ref(Low,-1));
OnebarDojibullishyesterday1=(abs(Ref(Close,-1)-Ref(Open,-1)) <= (Ref(Close,-1)*.0025) AND LLV(Low, 8)==Ref(Low,-1));
OnebarDojibullishyesterday2=(abs(Ref(Open,-1)-Ref(Close,-1))<=((Ref(High,-1)-Ref(Low,-1))*0.1) AND LLV(Low, 8)==Ref(Low,-1));
/*Bearish Doji Reversal Set Ups*/
Dojibearish1=abs(Close-Open) <= (Close*.0025) AND HHV(High, 8)== Max(High, Ref(High, -1));
Dojibearish2=abs(Open-Close)<=((High-Low)*0.1)AND HHV(High, 8)==Max(High, Ref(High, -1));
Dojibearishyesterday1=abs(Ref(Close,-1)-Ref(Open,-1)) <= (Ref(Close,-1)*.0025) AND HHV(High, 8)==Max(Ref(High,-1),Ref(High,-2));
Dojibearishyesterday2=(abs(Ref(Open,-1)-Ref(Close,-1))<=((Ref(High,-1)-Ref(Low,-1))*0.1)AND HHV(High, 8)==Ref(High,-1));
/*Bullish Wick Reversal Set Up */
Onebarbullishwick=(Range/Realbody)>3.5 AND C>= (Low +Range*0.8) AND LLV(Low,5)==Low;
Twobarbullishwick=(Range1/Realbody1)>3.5 AND C>= (Min(L,Ref(L,-1)) +Range1*0.8) AND LLV(Low,5)==Min(L,Ref(L,-1)) AND L < Ref(L, -1);
Threebarbullishwick=(Range2/Realbody2)>3.5 AND C>= (Min(Min1,Ref(L,-2)) +Range2*0.8) AND LLV(Low,5)==Min(Min1,Ref(L,-2)) AND L < Ref(L, -1);
/*Bearish Wick Reversal Set Up */
Onebarbearishwick=(Range/Realbody)>3.5 AND C<= (High-Range*0.8) AND HHV(High, 5)==High;
Twobarbearishwick=(Range1/Realbody1)>3.5 AND C<= (Max(H, Ref(H,-1))-Range1*0.8) AND HHV(High, 5)==Max(H, Ref(H,-1)) AND H < Ref(H, -1);
Threebarbearishwick=(Range2/Realbody2)>3.5 AND C<= (Max(Max1,Ref(H,-2))-Range2*0.8) AND HHV(High, 5)==Max(Max1,Ref(H,-2)) AND H < Ref(H, -1);
/*Bullish Extreme Reversal Setup*/
Candleaverage = Ref(MA(H, 5), -1) - Ref(MA(L, 5), -1);
Theextremereversalbullish = Range > 3*Candleaverage AND HHV(L, 5) ==Low AND Realbody > Range*0.5 AND Realbody < Range*0.85;
/*Bearish Extreme Reversal Setup*/
Theextremereversalbearish = Range > 3*Candleaverage AND HHV(H, 5) ==High AND C<= (L +Range*0.8) AND C>= (L +Range*0.4);
/*Bullish Trend Continuation */
Eightdaynewlinepatternbullish = (H>Ref(H,-1) AND Ref(H,-1) >Ref(H,-2) AND Ref(H,-2) >Ref(H,-3) AND Ref(H,-3) >Ref(H,-4) AND Ref(H,-4) >Ref(H,-5) AND Ref(H,-5) >Ref(H,-6) AND Ref(H,-6) >Ref(H,-7) ) OR (L>Ref(L,-1) AND Ref(L,-1) >Ref(L,-2) AND Ref(L,-2) >Ref(L,-3) AND Ref(L,-3) >Ref(L,-4) AND Ref(L,-4) >Ref(L,-5) AND Ref(L,-5) >Ref(L,-6) AND Ref(L,-6) >Ref(L,-7) );
Thrteendaynewlinepatternbullish = (H>Ref(H,-1) AND Ref(H,-1) >Ref(H,-2) AND Ref(H,-2) >Ref(H,-3) AND Ref(H,-3) >Ref(H,-4) AND Ref(H,-4) >Ref(H,-5) AND Ref(H,-5) >Ref(H,-6) AND Ref(H,-6) >Ref(H,-7) AND Ref(H,-7) >Ref(H,-8) AND Ref(H,-8) >Ref(H,-9) AND Ref(H,-9)>Ref(H,-10) AND Ref(H,-10)>Ref(H,-11) AND Ref(H,-11) >Ref(H,-12) ) OR (L>Ref(L,-1) AND Ref(L,-1) >Ref(L,-2) AND Ref(L,-2) >Ref(L,-3) AND Ref(L,-3) >Ref(L,-4) AND Ref(L,-4) >Ref(L,-5) AND Ref(L,-5) >Ref(L,-6) AND Ref(L,-6) >Ref(L,-7) AND Ref(L,-7) >Ref(L,-8) AND Ref(L,-8) >Ref(L,-9) AND Ref(L,-9) >Ref(L,-10) AND Ref(L,-10) >Ref(L,-11) AND Ref(L,-11) >Ref(L,-12) );
/*Bearish Trend Continuation */
Eightdaynewlinepatternbearish = (H<Ref(H,-1) AND Ref(H,-1) <Ref(H,-2) AND Ref(H,-2) <Ref(H,-3) AND Ref(H,-3) <Ref(H,-4) AND Ref(H,-4) <Ref(H,-5) AND Ref(H,-5) <Ref(H,-6) AND Ref(H,-6) <Ref(H,-7) ) OR (L<Ref(L,-1) AND Ref(L,-1) <Ref(L,-2) AND Ref(L,-2) <Ref(L,-3) AND Ref(L,-3) <Ref(L,-4) AND Ref(L,-4) <Ref(L,-5) AND Ref(L,-5) <Ref(L,-6) AND Ref(L,-6) <Ref(L,-7) );
Thrteendaynewlinepatternbearish = (H<Ref(H,-1) AND Ref(H,-1) <Ref(H,-2) AND Ref(H,-2) <Ref(H,-3) AND Ref(H,-3) <Ref(H,-4) AND Ref(H,-4) <Ref(H,-5) AND Ref(H,-5) <Ref(H,-6) AND Ref(H,-6) <Ref(H,-7) AND Ref(H,-7) <Ref(H,-8) AND Ref(H,-8) <Ref(H,-9) AND Ref(H,-9)<Ref(H,-10) AND Ref(H,-10)<Ref(H,-11) AND Ref(H,-11) <Ref(H,-12) ) OR (L<Ref(L,-1) AND Ref(L,-1) <Ref(L,-2) AND Ref(L,-2) <Ref(L,-3) AND Ref(L,-3) <Ref(L,-4) AND Ref(L,-4) <Ref(L,-5) AND Ref(L,-5) <Ref(L,-6) AND Ref(L,-6) <Ref(L,-7) AND Ref(L,-7) <Ref(L,-8) AND Ref(L,-8) <Ref(L,-9) AND Ref(L,-9) <Ref(L,-10) AND Ref(L,-10) <Ref(L,-11) AND Ref(L,-11) <Ref(L,-12) );
Explore = /*Bullish Wick Reversal Set Up */
WriteIf(Onebarbullishwick, "Onebar Bullish Wick",
WriteIf(Twobarbullishwick, "Twobar Bullish Wick",
WriteIf(Threebarbullishwick, "Threebar Bullish Wick",
/*Bullish Doji Reversal Set Ups*/
WriteIf(OnebarDojibullish1, "Doji Bullish Today 1",
WriteIf(OnebarDojibullish2, "Doji Bullish Today 2",
WriteIf(OnebarDojibullishyesterday1, "Doji Bullish Yesterday 1",
WriteIf(OnebarDojibullishyesterday2, "Doji Bullish Yesterday 2",
/*Bullish Sentiment Start*/
WriteIf(Engulfingbullish, "Engulfing Bullish",
WriteIf(Hammer, "Hammer",
WriteIf(Matchinghigh, "Matching High",
/*Bullish Extreme Reversal Setup */
WriteIf(Theextremereversalbullish, "Extreme Reversal Bullish",
/*Bullish Trend Continuation */
WriteIf(Thrteendaynewlinepatternbullish, "Thrteenday Newlinepattern Bullish",
WriteIf(Eightdaynewlinepatternbullish, "Eightday Newlinepattern Bullish",
/*Bearish Doji Reversal Set Ups*/
WriteIf(Dojibearish1, "Doji Bearish Today 1",
WriteIf(Dojibearish2, "Doji Bearish Today 2",
WriteIf(Dojibearishyesterday1, "Doji Bearish Yesterday 1",
WriteIf(Dojibearishyesterday2, "Doji Bearish Yesterday 2",
/*Bearish Trend Continuation */
WriteIf(Theextremereversalbearish, "Extreme Reversal Bearish",
/*Bearish Sentiment Start */
WriteIf(Engulfingbearish, "Engulfing Bearish",
WriteIf(Matchinglow, "Matching Low",
WriteIf(Shootingstar, "Shooting Star",
/*Bearish Wick Reversal Set Up */
WriteIf(Onebarbearishwick, "Onebar Bearish Wick",
WriteIf(Twobarbearishwick, "Twobar Bearish Wick",
WriteIf(Threebarbearishwick, "Threebar Bearish Wick",
/*Bearish Trend Continuation */
WriteIf(Thrteendaynewlinepatternbearish, "Thrteenday Newline Pattern Bearish",
WriteIf(Eightdaynewlinepatternbearish, "Eightday Newlinepattern Bearish",""))))))))))))))))))))))))));
Filter = 1;
Col1 = IIf(Onebarbullishwick OR Twobarbullishwick OR Threebarbullishwick OR OnebarDojibullish1 OR OnebarDojibullish2 OR OnebarDojibullishyesterday1 OR OnebarDojibullishyesterday2 OR Engulfingbullish OR Hammer OR Matchinghigh OR Eightdaynewlinepatternbullish OR Thrteendaynewlinepatternbullish OR Theextremereversalbullish, colorGreen,
IIf(Onebarbearishwick OR Twobarbearishwick OR Threebarbearishwick OR Dojibearish1 OR Dojibearish2 OR Dojibearishyesterday1 OR Dojibearishyesterday2 OR Engulfingbearish OR Shootingstar OR Matchinglow OR Eightdaynewlinepatternbearish OR Thrteendaynewlinepatternbearish OR Theextremereversalbearish, colorRed, 0));
AddColumn(C, "Close", 1.2);
AddTextColumn(Explore, "Pattern", 1.0, Col1, colorDefault,190);