// Downloaded From https://www.WiseStockTrader.com
//Based on candlestick commentry afl
SetChartOptions(0,chartShowArrows|chartShowDates);

/*Body Colors*/
whiteBody=C>=O;
blackBody=O>C;

/*Body Size*/
smallBodyMaximum=0.0025;//less than 0.25%
LargeBodyMinimum=0.01;//greater than 1.0%
smallBody=(O>=C*(1-smallBodyMaximum) AND whiteBody) OR (C>=O*(1-smallBodyMaximum) AND blackBody);
largeBody=(C>=O*(1+largeBodyMinimum) AND whiteBody) OR C<=O*(1-largeBodyMinimum) AND blackBody;
mediumBody=NOT LargeBody AND NOT smallBody;
identicalBodies=abs(abs(Ref(O,-1)-Ref(C,-1))-abs(O-C)) < abs(O-C)*smallBodyMaximum;
realBodySize=abs(O-C);

//==========================================================

BlackCandle = (O>C);   
LongBlackCandle = (O>C AND (O-C)/(0.001+H-L)>0.6);   
SmallBlackCandle = ((O>C) AND ((H-L)>(3*(O-C))));   
WhiteCandle = (C>O);   
LongWhiteCandle = ((C>O) AND ((C-O)/(0.001+H-L)>0.6));   
SmallWhiteCandle = ((C>O) AND ((H-L)>(3*(C-O)))); 

/***********************************************
               PRICE CHART
************************************************/
Plot(C,"Price", IIf(C> Ref(C,-1),colorGreen,colorRed), styleCandle ); 
Title = EncodeColor(colorWhite)+ FullName()+"\n"+EncodeColor(colorGold)+ " Ngay:"+ Date() +StrFormat(" - Open %g, Hi %g, Lo %g, Close %g " , O,H,L,C )+"Volume : " + V +"\n"+ "_____ Candlestick Commentary _____" +"\n"+ "_ Bullish Candles:"+
 EncodeColor(colorGreen)+
/*
C_sta  + "\n"+EncodeColor(colorGold)+"_ Bearish Candles :"+EncodeColor(colorRed)+
 C_be +"\n"+EncodeColor(colorBrightGreen)+ "_____ HEZU-KHUSHI _____";
*/
Plot(EMA(C,20)," ", colorGreen,1);
Plot(EMA(C,50)," ", colorYellow,1);
Plot(EMA(C,200)," ", colorRed,1);
//PlotVAPOverlay( Param("lines",300,10,1000,1), Param("width",10,1,99,1), ParamColor("color", colorDarkBlue), Param("style",0,0,7,1) );
//PlotVAPOverlayA(  Param("Lines", 300, 100, 1000, 1 ), Param("Width", 80, 1, 200, 1 ), ParamColor("Color", colorGold ), ParamToggle("Side", "Left|Right" ) | 2 * ParamToggle("Style", "Fill|Lines", 0) | 4*ParamToggle("Z-order", "On top|Behind", 1 )) ; 
//Plot(segments, "", colorLightGrey, styleHistogram | styleOwnScale ); 
PlotVAPOverlay( Param("lines",300,10,1000,1), Param("width",10,1,99,1), ParamColor("color", colorDarkBlue), Param("style",0,0,7,1) |4*ParamToggle("Z-order", "On top|Behind", 1 ));
_SECTION_BEGIN("Background text");

GfxSelectFont("Time news roman", Status("pxheight")/6 );
GfxSetTextAlign(6 );// center alignment
GfxSetOverlayMode(1 ) ;
//GfxSetTextColor( ColorRGB( 200, 200, 200 ) );
GfxSetTextColor( ColorHSB( 42, 42, 42 ) );
GfxSetBkMode(0); // transparent
GfxTextOut( Name(), Status("pxwidth")/2, Status("pxheight")/19 );
GfxSelectFont("Time news roman", Status("pxheight")/30 );
GfxTextOut(FullName(), Status("pxwidth")/2, Status("pxheight")/3.8 );
GfxSelectFont("Time news roman", Status("pxheight")/25 );
GfxTextOut("Market: " + MarketID(1), Status("pxwidth")/2, Status("pxheight")/3 );
_SECTION_BEGIN("Volume");
Plot( Volume, _DEFAULT_NAME(), ParamColor("Color", colorLavender ), styleNoTitle | ParamStyle( "Style", styleHistogram | styleOwnScale | styleThick | styleNoLabel, maskHistogram  ), 2 );
_SECTION_END();

//==========================================================


Buy=Ref(Largebody,-4) AND Ref(blackBody,-4)
              AND Ref(blackBody,-3) AND Ref(O,-3)<Ref(C,-4)
              AND Ref(smallbody,-2) AND Ref(C,-2)<Ref(C,-3)
              AND Ref(C,-1)<Ref(C,-2)
              AND LargeBody AND whiteBody AND C>Ref(O, -3) 
              AND C<Ref(C,-4);
Sell=Ref(LargeBody,-4) AND Ref(whiteBody,-4) AND
   Ref(GapUp(),-3) AND Ref(whiteBody,-3) AND 
   Ref(smallbody,-2) AND Ref(smallBody,-1) AND
   blackBody AND O>Ref(O,-3) AND C<Ref(C,-4);

//==========================================================

PlotShapes(IIf(Buy,shapeUpArrow,shapeNone),colorBlue,0,L,-15);
PlotShapes(IIf(Sell,shapeDownArrow,shapeNone),colorRed,0,H,-15);

Filter = (Buy OR Sell) AND Volume>50000;

AddColumn(IIf(Buy, 66, 83), "Signal", formatChar, colorYellow, IIf(Buy, colorGreen, colorRed));
AddColumn( Close, "Close  " );
AddColumn(V," VOL TODAY ",1.2, IIf(V > MA(V,20),colorGreen, colorLightGrey));

//==========================================================