My trades based on "new way of pivot trading" and vwap

monkeybusiness

Well-Known Member
Vijay Bro!! Everything is working fine now. Just would like to ask you,where is the afl for Vwap bands (by pratap sir), I checked few threads but seems like link is gone. Regarding market profile afl (shared by Xray) is only compatible for 5.8 and above. I tried some suggested changes by Wisp but ..showing error while implementing

Thanks
rip07
Hi, RIP
please find Pratap Sir's AFLS
Code:
SetChartOptions(2,chartWrapTitle);
SetChartBkColor(ParamColor("Background", colorLightGrey)) ;
// Author: Pratap Balakrishnan
// Copyright: All rights reserved. Not to be circulated or shared or posted on websites without the author's written permission.
// email id: [email protected]
//
/*
The VWAP for a stock is calculated by adding the dollars traded for every
transaction in that stock ("price" x "number of 
      shares traded") and dividing the total shares traded. A VWAP is computed
from the Open of the market to the market Close, AND is 
      calculated by Volume weighting all transactions during this time period

*/
Layer = Param("Layer", 0, -5, 5, 1) ;
showprice = ParamToggle("Show Price", "No|Yes", 0) ;
if (showprice)
{
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} " + EncodeColor( colorGreen ) + " Open %g," + EncodeColor( colorBlue ) + " Hi %g,  " + EncodeColor( colorRed ) + " Lo %g,  " + EncodeColor( colorBlack ) + " Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Plot( C, "Close",  colorBlack, styleNoTitle | styleCandle,0,0,0,Layer ); 
//Peaking Volumes
HiVolume = IIf(V > (2 * MA(V,10)), True, False); 
PlotShapes(shapeSmallCircle * HiVolume, IIf(C > O, colorBlack, colorWhite), 0, (O+C)/2, 0);
ToolTip = "Open = " + O + "\nHigh = " + H + "\nLow = " + L + "\nClose = " + C ;
}

farback = Param("Far Back", 500, 1, 10000, 1) ;
SetChartBkColor(colorLightGrey) ;
useforeign = ParamToggle("Set Foreign", "No|Yes", 0) ;
//List = GetCategorySymbols(categoryMarket, 0) ;
//forscript = ParamList("Scrip", List, 0) ;
forscript = ParamStr("Scrip", "NIFTY_F1") ;
if (useforeign)
	SetForeign(forscript); 

ndays = Param("N Days", 1, 0, 10000, 1) ;
period = Param("Period", 39, 1, 10000, 1) ;
turnvwapoff = ParamToggle("VWAP All OFF", "No|Yes", 0) ;
showintitle = ParamToggle("Show in Title", "No|Yes", 0) ;
nodraw = ParamToggle("No Draw", "No|Yes", 0) ;
showtradearr = ParamToggle("Trade Arrow", "No|Yes", 0) ;
Filterdaych = ParamToggle("Filter Day Change Connections", "No|Yes", 1) ;

Vwapmode = ParamList("VWAP mode", "As Per Param|Only VWAP|VWAP+SD|VWAP+2SD", 0) ;
showvwap = ParamToggle("Show VWAP", "No|Yes", 1) ;
showvwap1sd = ParamToggle("Show VWAP 1SD", "No|Yes", 1) ;
showvwap2sd = ParamToggle("Show VWAP 2SD", "No|Yes", 1) ;
showvwap3sd = ParamToggle("Show VWAP 3SD", "No|Yes", 0) ;
showvwapband = ParamToggle("Show VWAP Trend Bands", "No|Yes", 0) ;
showvwapswband = ParamToggle("Show VWAP Sideways Bands", "No|Yes", 0) ;
showprevdayvals = ParamToggle("Show Prev Day Values", "No|Yes", 1) ;
showprev2dayvals = ParamToggle("Show Prev 2 Day Values", "No|Yes", 1) ;
showprevdayband = ParamToggle("Show Prev Day Bands", "No|Yes", 1) ;
showextprevday = ParamToggle("Show Extension", "No|Yes", 1)  ;
showextbandprevday = ParamToggle("Show Extension Band", "No|Yes", 1)  ;
extend = Param("Extend", 10, 0, 100, 1) ;

showextvwap = ParamToggle("Show VWAP Extension", "No|Yes", 1)  ;
vwapextend = Param("VWAP Extend", 10, 0, 100, 1) ;
showexttrndband = ParamToggle("Show Trend Band Extension", "No|Yes", 0)  ;
trndbandextend = Param("Trend Band Extend", 5, 0, 100, 1) ;
showextswband = ParamToggle("Show Sidewways Band Extension", "No|Yes", 1)  ;
swbandextend = Param("Sideways Band Extend", 5, 0, 100, 1) ;

Vwaplayer = Param("VWAP Layer", -3, -5, 5, 1) ;
extlayer = Param("Extend Layer", -2, -5, 5, 1) ;

MAwidthper = Param("MA Width %", 0.005, 0, 10, 1) ;
MAwidth = SelectedValue(C) * MAwidthper /100 ;
SDwidthper = Param("SD Width %", 0.01, 0, 10, 1) ;
SDwidth = SelectedValue(C) * SDwidthper /100 ;
SD2widthper = Param("SD2 Width %", 0.005, 0, 10, 1) ;
SD2width = SelectedValue(C) * SD2widthper /100 ;

showcomm = ParamToggle("Show Commentary", "No|Yes", 0) ;
showtext = ParamToggle("Show Text", "No|Yes", 1) ;
Clrtext = ParamColor("Color Text", colorBlack) ;
showvahvaltext = ParamToggle("Show VAH-VAL Text", "No|Yes", 1) ;
showtxtlbl = ParamToggle("Show Text Label", "No|Yes", 1) ;

Onlyvwap = False ;
withsd = False ;
with2sd = False ;

switch (Vwapmode)
{
//	case "As Per Param":
//		break ;
	case "Only VWAP" :
		Onlyvwap = True ;
		break ;
	case "VWAP+SD" :
		Onlyvwap = True ;
		withsd = True;
		break ;
	case "VWAP+2SD" :
		Onlyvwap = True ;
		withsd = True;
		with2sd = True;
		break ;
}

if (Onlyvwap)
{	
	if (withsd)
		showvwap1sd = True;
	else
		showvwap1sd = False ;
	if (with2sd)
		showvwap2sd = True;
	else
		showvwap2sd = False ;
	showvwap3sd = False ;
	showvwapband = False ;
//	showvwapswband = False ;
//	showprevdayvals = False ;
//	showprev2dayvals = False ;
//	showprevdayband = False ;

//	showtradearr = False ;
	showcomm = False ;
	showtextlbl = showtext = withsd ;

}

stylelabel = 0 ;
if (showtext)
	stylelabel = styleNoLabel ;

styletitle = 0 ;
if (NOT showintitle)
	styletitle = styleNoTitle ;

styledata = 0 ;
if (nodraw)
{
	styledata = styleNoDraw ;
//showtradearr = False ;
}
//SetBarsRequired(int(farback*1.1)) ;

if (NOT turnvwapoff)
{
P = (H + L + C) / 3;
nd = Day() != Ref(Day(),-1) ;
Bars_so_far_today = 1 + BarsSince( nd);
if (ndays == 0)
	Bars_so_far_today = IIf(Bars_so_far_today < period, Bars_so_far_today, period) ;
else if (ndays > 1)
{
	bi = BarIndex() ;
/*
	bivwap0 = ValueWhen(nd, bi, ndays) ;
	bivwap1 = ValueWhen(nd, bi, ndays+1) ;

	dttn = DateTime() ;
	tnhr = DateTimeConvert(5, dttn) ;
	
	bivwap = IIf(tnhr < 12, bivwap1, bivwap0) ;
	Bars_so_far_today	 = 1 + (bi - bivwap) ;
*/
	bivwap = ValueWhen(nd, bi, ndays) ;
	nbar = (bi - bivwap) ;

	Bars_so_far_today	 = ValueWhen(nd, nbar, 1) *ndays ;
//	Bars_so_far_today	 = 375*ndays ;

}
Va = IIf(V == 0, 0.01, V) ;

//StartBar = ValueWhen(TimeNum() == 091600, BarIndex());
TodayVolume = Sum(Va,Bars_so_far_today);
//IIf (BarIndex() >= StartBar, VWAP = Sum (C * V, Bars_so_far_today  ) / TodayVolume,0);
//Plot (VWAP,"VWAP",colorBlack, styleThick);

	CumV = Sum(Va,Bars_so_far_today);
	CumVWP = Sum (P * Va, Bars_so_far_today  );
   VWAP = CumVWP / CumV;
//	S = Sum(Ref(CumV, 0) * V * (P - Ref(VWAP, 0))^2,Bars_so_far_today) / CumV;
	VWAPsd = IIf(Ref(nd, 1), 0, VWAP);
	CumVsd = IIf(Ref(nd, 1), 0, CumV);

	S = Sum(Ref(CumVsd, -1) * V * (P - Ref(VWAPsd, -1))^2 / CumV,Bars_so_far_today);
	Variance = S / CumV;
	 SD = sqrt(Variance);
//	 VWAP = IIf(InRange,  VWAP, Null);
	Vwapm1 = VWAP - SD ;
	Vwapp1 = VWAP + SD ;
	Vwapm2 = VWAP -2*SD ;
	Vwapp2 = VWAP +2*SD ;
	Vwapm3 = VWAP -3*SD ;
	Vwapp3 = VWAP +3*SD ;

	showoncrb = ParamToggle("Show On CRB", "No|Yes", 0) ;
	Refo = ParamField("CRB Open", 7+0) ;
	Refh = ParamField("CRB High", 7+1) ;
	Refl = ParamField("CRB Low", 7+2) ;
	Refc = ParamField("CRB Close", 7+3) ;
	Refbi = ParamField("CRB BI", 7+4) ;
	Refcrbbars = ParamField("CRB Bars", 7+5) ;
	Refnbars = ParamField("TF Bars", 7+6) ;
	Refdt = ParamField("CRB DT", 7+7) ;

	if (showoncrb)
		dt = Refdt ;
	else
		dt = DateTime() ;

	dtnum = DateTimeConvert(0, dt) ;
	newdt = dtnum != Ref(dtnum, -1) ;

	Lastbar = H-H ;
	if (Filterdaych)
		Lastbar = dtnum != Ref(dtnum, 1) ;

	if (showoncrb)
	{
		diffbars = Refnbars -Refcrbbars -1 ;
		Crbst = BarCount - LastValue(Refcrbbars) -1;
		// convert to crb
		RefVWAP = Ref(VWAP, -diffbars) ;
		RefVwapm1 = Ref(Vwapm1, -diffbars) ;
		RefVwapp1 = Ref(Vwapp1, -diffbars) ;
		RefVwapm2 = Ref(Vwapm2, -diffbars) ;
		RefVwapp2 = Ref(Vwapp2, -diffbars) ;
		RefVwapm3 = Ref(Vwapm3, -diffbars) ;
		RefVwapp3 = Ref(Vwapp3, -diffbars) ;

		k = 0 ;
		for ( i = Crbst ; i < BarCount ; i++)
		{
			Refbar = Refbi[i];

			RefVWAP[i] = VWAP[Refbar] ;
			RefVwapm1[i] = Vwapm1[Refbar] ;
			RefVwapp1[i] = Vwapp1[Refbar] ;
			RefVwapm2[i] = Vwapm2[Refbar] ;
			RefVwapp2[i] = Vwapp2[Refbar] ;
			RefVwapm3[i] = Vwapm3[Refbar] ;
			RefVwapp3[i] = Vwapp3[Refbar] ;

			k++;
		}
	}
	else
	{
			RefVWAP = VWAP;
			RefVwapm1 = Vwapm1;
			RefVwapp1 = Vwapp1 ;
			RefVwapm2 = Vwapm2;
			RefVwapp2 = Vwapp2;
			RefVwapm3 = Vwapm3;
			RefVwapp3 = Vwapp3;
	}

	Clrvwap =  ParamColor("Color VWAP",colorBlack) ;
	Clrvwapm1 = ParamColor("Color VWAP -1SD", colorGreen) ;
	Clrvwapp1 = ParamColor("Color VWAP +1SD", colorRed) ;

	strnday = NumToStr(ndays, 1.0)+"day";

		styleshow = IIf(showvwap, 0, styleNoDraw) ;
//		Vwapstyle = 0 ;

//		if (ndays > 1)
			Vwapstyle = styleNoRescale ;
		Plot(IIf(Lastbar, Null, RefVWAP), "VWAP"+strnday, Clrvwap , styleThick|stylelabel|Vwapstyle|styledata|styleshow, Null, Null, 0, 1);
		if (MAwidth > 0)
			PlotOHLC(IIf(Lastbar, Null, RefVWAP+MAwidth), IIf(Lastbar, Null, RefVWAP+MAwidth), IIf(Lastbar, Null, RefVWAP-MAwidth), IIf(Lastbar, Null, RefVWAP-MAwidth), "",Clrvwap, styleCloud|styleNoLabel|styleNoRescale|styledata|styleshow, 0, 0, 0, 1 ) ;

	Plot(SD, "SD", colorBlack, styleNoDraw|styleNoLabel|styleNoRescale) ;

		styleshow = IIf(showvwap1sd, 0, styleNoDraw) ;
		Plot(IIf(Lastbar, Null, RefVwapm1), "-1SD"+strnday, Clrvwapm1,  styleThick  + styleTitle + stylelabel+styleNoRescale|styledata|styleshow, Null, Null, 0, 1);
		Plot(IIf(Lastbar, Null, RefVwapp1), "+1SD"+strnday, Clrvwapp1, styleThick  + styleTitle + stylelabel+styleNoRescale|styledata|styleshow, Null, Null, 0, 1);
		if (SDwidth > 0)
			PlotOHLC(IIf(Lastbar, Null, RefVWAPm1+SDwidth), IIf(Lastbar, Null, RefVWAPm1+SDwidth), IIf(Lastbar, Null, RefVWAPm1-SDwidth), IIf(Lastbar, Null, RefVWAPm1-SDwidth), "",Clrvwapm1, styleCloud|styleNoLabel|styleNoRescale|styledata|styleshow, 0, 0, 0, 0 ) ;

		if (SDwidth > 0)
			PlotOHLC(IIf(Lastbar, Null, RefVWAPp1+SDwidth), IIf(Lastbar, Null, RefVWAPp1+SDwidth), IIf(Lastbar, Null, RefVWAPp1-SDwidth), IIf(Lastbar, Null, RefVWAPp1-SDwidth), "",Clrvwapp1, styleCloud|styleNoLabel|styleNoRescale|styledata|styleshow, 0, 0, 0, 0 ) ;


		styleshow = IIf(showvwap2sd, 0, styleNoDraw) ;
		Plot(IIf(Lastbar, Null, RefVwapm2), "-2SD"+strnday, ParamColor("Color VWAP -2SD", colorSeaGreen), styleThick  + styleTitle + stylelabel+styleNoRescale|styledata|styleshow, Null, Null, 0, 1);
		Plot(IIf(Lastbar, Null, RefVwapp2), "+2SD"+strnday, ParamColor("Color VWAP +2SD", colorOrange), styleThick  + styleTitle + stylelabel+styleNoRescale|styledata|styleshow, Null, Null, 0, 1);
		if (SD2width > 0)
			PlotOHLC(IIf(Lastbar, Null, RefVWAPm2+SD2width), IIf(Lastbar, Null, RefVWAPm2+SD2width), IIf(Lastbar, Null, RefVWAPm2-SD2width), IIf(Lastbar, Null, RefVWAPm2-SD2width), "",ParamColor("Color VWAP -2SD", colorSeaGreen), styleCloud|styleNoLabel|styleNoRescale|styledata|styleshow, 0, 0, 0, 0 ) ;

		if (SD2width > 0)
			PlotOHLC(IIf(Lastbar, Null, RefVWAPp2+SD2width), IIf(Lastbar, Null, RefVWAPp2+SD2width), IIf(Lastbar, Null, RefVWAPp2-SD2width), IIf(Lastbar, Null, RefVWAPp2-SD2width), "",ParamColor("Color VWAP +2SD", colorOrange), styleCloud|styleNoLabel|styleNoRescale|styledata|styleshow, 0, 0, 0, 0 ) ;


		styleshow = IIf(showvwap3sd, 0, styleNoDraw) ;
		Plot(IIf(Lastbar, Null, RefVwapm3), "-3SD"+strnday, ParamColor("Color VWAP -3SD", colorRed), styleThick  + styleNoTitle + stylelabel+styleNoRescale|styledata|styleshow, Null, Null, 0, 1);
		Plot(IIf(Lastbar, Null, RefVwapp3), "+3SD"+strnday, ParamColor("Color VWAP +3SD", colorBlue), styleThick  + styleNoTitle + stylelabel+styleNoRescale|styledata|styleshow, Null, Null, 0, 1);

		styleshow = IIf(showvwapband, 0, styleNoDraw) ;	
		dnclr = ParamColor("Down Trend", colorRose) ;
		upclr = ParamColor("Up Trend", colorSkyblue) ;
		PlotOHLC(IIf(Lastbar, Null, RefVwapm1), IIf(Lastbar, Null, RefVwapm1), IIf(Lastbar, Null, RefVwapm2), IIf(Lastbar, Null, RefVwapm2), "",dnclr, styleCloud|styleNoLabel|styleNoRescale|styledata|styleshow, 0, 0, 0, Vwaplayer ) ;
		PlotOHLC(IIf(Lastbar, Null, RefVwapp1), IIf(Lastbar, Null, RefVwapp1), IIf(Lastbar, Null, RefVwapp2), IIf(Lastbar, Null, RefVwapp2), "",upclr, styleCloud|styleNoLabel|styleNoRescale|styledata|styleshow, 0, 0, 0, Vwaplayer ) ;
		if (showexttrndband)
		{
			styleshow = IIf(showexttrndband, 0, styleNoDraw) ;
			x0 = BarCount - (trndbandextend +1)+1 ;
			x1 = BarCount -1 ;

			Hdlast = SelectedValue(RefVwapp2) ;
			Ldlast = SelectedValue(RefVwapp1) ;

			Hplot = LineArray(x0, Hdlast, x1, Hdlast) ;
//			Plot(Hplot, "VAHext"+strnday, colorOrange, styleLine|styleNoLabel|styleNoTitle|styleNoRescale|styledata|styleshow, 0,0,extend, extlayer) ;
			LPlot = LineArray(x0, Ldlast, x1, Ldlast) ;
//			Plot(LPlot, "VALext"+strnday, colorGreen, styleLine|styleNoLabel|styleNoTitle|styleNoRescale|styledata|styleshow, 0,0,extend, extlayer) ;

			styleshow = IIf(showexttrndband, 0, styleNoDraw) ;
			PlotOHLC(HPlot, HPlot, LPlot, LPlot, "", upclr , styleCloud|styleNoLabel|styleNoTitle|styleNoRescale|styledata|styleshow, 0,0,trndbandextend ,extlayer ) ;

			Hdlast = SelectedValue(RefVwapm1) ;
			Ldlast = SelectedValue(RefVwapm2) ;

			Hplot = LineArray(x0, Hdlast, x1, Hdlast) ;
//			Plot(Hplot, "VAHext"+strnday, colorOrange, styleLine|styleNoLabel|styleNoTitle|styleNoRescale|styledata|styleshow, 0,0,extend, extlayer) ;
			LPlot = LineArray(x0, Ldlast, x1, Ldlast) ;

			PlotOHLC(HPlot, HPlot, LPlot, LPlot, "", dnclr , styleCloud|styleNoLabel|styleNoTitle|styleNoRescale|styledata|styleshow, 0,0,trndbandextend ,extlayer ) ;
		}

		styleshow = IIf(showextvwap, 0, styleNoDraw) ;
		x0 = BarCount - (vwapextend+1)+1 ;
		x1 = BarCount -1 ;

		vwaplast = SelectedValue(RefVWAP) ;
		p1last = SelectedValue(RefVwapp1) ;
		m1last = SelectedValue(RefVwapm1) ;
		p2last = SelectedValue(RefVwapp2) ;
		m2last = SelectedValue(RefVwapm2) ;
showlvls = True ;

		vwapextPlot = LineArray(x0, vwaplast , x1, vwaplast ) ;
		Plot(vwapextPlot , "", Clrvwap, styleLine|styleNoLabel|styleNoTitle|styleNoRescale|styledata|styleshow, 0,0,vwapextend, extlayer) ;
		if (MAwidth > 0)
			PlotOHLC(vwapextPlot +MAwidth, vwapextPlot +MAwidth, vwapextPlot -MAwidth, vwapextPlot -MAwidth, "",Clrvwap, styleCloud|styleNoLabel|styleNoRescale|styledata|styleshow, 0, 0, vwapextend, 0 ) ;

		str = Null ;
		if(showtxtlbl)
			str = " vwap"  ;
		PlotText(NumToStr(Vwaplast, 8.1)+str, BarCount+Vwapextend-3, Vwaplast, colorBlack) ;

		p1extPlot = LineArray(x0, p1last , x1, p1last ) ;
		Plot(p1extPlot , "", Clrvwapp1, styleLine|styleNoLabel|styleNoTitle|styleNoRescale|styledata|styleshow, 0,0,vwapextend, extlayer) ;
		if (SDwidth > 0)
			PlotOHLC(p1extPlot +SDwidth , p1extPlot +SDwidth , p1extPlot -SDwidth , p1extPlot -SDwidth , "",Clrvwapp1, styleCloud|styleNoLabel|styleNoRescale|styledata|styleshow, 0, 0, vwapextend, 0 ) ;
		str = Null ;
		if(showtxtlbl)
			str = " +1SD"  ;
		PlotText(NumToStr(p1last , 8.1)+str, BarCount+Vwapextend-3, p1last , colorBlack) ;

		m1extPlot = LineArray(x0, m1last , x1, m1last ) ;
		Plot(m1extPlot , "", Clrvwapm1, styleLine|styleNoLabel|styleNoTitle|styleNoRescale|styledata|styleshow, 0,0,vwapextend, extlayer) ;
		if (SDwidth > 0)
			PlotOHLC(m1extPlot +SDwidth , m1extPlot +SDwidth , m1extPlot -SDwidth , m1extPlot -SDwidth , "",Clrvwapm1, styleCloud|styleNoLabel|styleNoRescale|styledata|styleshow, 0, 0, vwapextend, 0 ) ;
		str = Null ;
		if(showtxtlbl)
			str = " -1SD"  ;
		PlotText(NumToStr(m1last , 8.1)+str, BarCount+Vwapextend-3, m1last , colorBlack) ;

		p2extPlot = LineArray(x0, p2last , x1, p2last ) ;
		Plot(p2extPlot , "", Clrvwapp1, styleLine|styleNoLabel|styleNoTitle|styleNoRescale|styledata|styleshow, 0,0,vwapextend, extlayer) ;
		if (SD2width > 0)
			PlotOHLC(p2extPlot +SD2width , p2extPlot +SD2width , p2extPlot -SD2width , p2extPlot -SD2width , "",Clrvwapp1, styleCloud|styleNoLabel|styleNoRescale|styledata|styleshow, 0, 0, vwapextend, 0 ) ;
		str = Null ;
		if(showtxtlbl)
			str = " +2SD"  ;
		PlotText(NumToStr(p2last , 8.1)+str, BarCount+Vwapextend-3, p2last , colorBlack) ;

		m2extPlot = LineArray(x0, m2last , x1, m2last ) ;
		Plot(m2extPlot , "", Clrvwapm1, styleLine|styleNoLabel|styleNoTitle|styleNoRescale|styledata|styleshow, 0,0,vwapextend, extlayer) ;
		if (SD2width > 0)
			PlotOHLC(m2extPlot +SD2width , m2extPlot +SD2width , m2extPlot -SD2width , m2extPlot -SD2width , "",Clrvwapm1, styleCloud|styleNoLabel|styleNoRescale|styledata|styleshow, 0, 0, vwapextend, 0 ) ;
		str = Null ;
		if(showtxtlbl)
			str = " -2SD"  ;
		PlotText(NumToStr(m2last , 8.1)+str, BarCount+Vwapextend-3, m2last, colorBlack) ;


		if (showoncrb)
		{
			Ht = Refh ;
			Lt = Refl ;
			Ct = Refc ;
		}
		else
		{
			Ht = H ;
			Lt = L ;
			Ct = C ;
		}

		Avgp = (Ht+Lt+Ct)/3 ;

	if (showtradearr)
	{

		Buy = Avgp >= Refvwapp1 ;
		Short = Avgp <= Refvwapm1 ;

		Sell =  Avgp <= Refvwapp1 ;
		Cover = Avgp >= Refvwapm1 ;

		Buy = ExRem(Buy, Short OR Sell) ;
		Short = ExRem(Short, Buy OR Cover) ;

		sdp1touch = False ; // Ht >= Refvwapp1 ;
		sdm1touch = False ; //Lt >= Refvwapm1 ;

		Sell = ExRem(Sell, Buy OR sdp1touch ) ;
		Cover = ExRem(Cover, Short OR sdm1touch ) ;

		PlotShapes(Cover*shapeUpArrow, colorBlack, 0, Ht, 12) ;
		PlotShapes(Sell*shapeDownArrow, colorBlack, 0, Lt, 12) ;

		PlotShapes(Buy*shapeUpArrow, colorBlue, 0, Ht, 12) ;
		PlotShapes(Short*shapeDownArrow, colorRed, 0, Lt, 12) ;

	}

	shift = Param("Shift", 0, -1, 0, 1) ;

	prevdayvalue = prevdayvwap = ValueWhen(Ref(newdt,1), RefVWAP, 1) ;
	prevdayvaluelow = prevdayvwapm1 = ValueWhen(Ref(newdt,1), RefVwapm1, 1) ;
	prevdayvaluehigh = prevdayvwapp1 = ValueWhen(Ref(newdt,1), RefVwapp1, 1) ;
	prevdayvwapm2 = ValueWhen(Ref(newdt,1), RefVwapm2, 1) ;


		styleshow = IIf(showvwapswband, 0, styleNoDraw) ;
		swclr = ParamColor("Sideways Color", colorLavender) ;
		upclr =  ParamColor("Bull Bias Color", colorSkyblue) ;
		dnclr =  ParamColor("Bear Bias Color", colorRose) ;

		if (ndays >= 1)
		{

			bandclr = IIf(Refvwap < prevdayvaluelow, dnclr, IIf(Refvwap > prevdayvaluehigh, upclr, swclr)) ;

			
		PlotOHLC(IIf(Lastbar, Null, RefVwapp1), IIf(Lastbar, Null, RefVwapp1), IIf(Lastbar, Null, RefVwap), IIf(Lastbar, Null, RefVwap), "",bandclr, styleCloud|styleNoLabel|styleNoRescale|styledata|styleshow|styleshow, 0, 0, 0, Vwaplayer ) ;
		PlotOHLC(IIf(Lastbar, Null, RefVwap), IIf(Lastbar, Null, RefVwap), IIf(Lastbar, Null, RefVwapm1), IIf(Lastbar, Null, RefVwapm1), "",bandclr, styleCloud|styleNoLabel|styleNoRescale|styledata|styleshow|styleshow, 0, 0, 0, Vwaplayer ) ;
			
		if (showextswband)
		{
			styleshow = IIf(showextprevday, 0, styleNoDraw) ;
			x0 = BarCount - (swbandextend +1)+1 ;
			x1 = BarCount -1 ;

			Hdlast = SelectedValue(RefVwapp1) ;
			Ldlast = SelectedValue(RefVwapm1) ;

			Hplot = LineArray(x0, Hdlast, x1, Hdlast) ;
//			Plot(Hplot, "VAHext"+strnday, colorOrange, styleLine|styleNoLabel|styleNoTitle|styleNoRescale|styledata|styleshow, 0,0,extend, extlayer) ;
			LPlot = LineArray(x0, Ldlast, x1, Ldlast) ;
//			Plot(LPlot, "VALext"+strnday, colorGreen, styleLine|styleNoLabel|styleNoTitle|styleNoRescale|styledata|styleshow, 0,0,extend, extlayer) ;

			styleshow = IIf(showextswband, 0, styleNoDraw) ;
			PlotOHLC(HPlot, HPlot, LPlot, LPlot, "", bandclr , styleCloud|styleNoLabel|styleNoTitle|styleNoRescale|styledata|styleshow, 0,0,swbandextend ,extlayer ) ;

		}


		}
		else
				PlotOHLC(IIf(Lastbar, Null, RefVwapm1), IIf(Lastbar, Null, RefVwapm1), IIf(Lastbar, Null, RefVwapp1), IIf(Lastbar, Null, RefVwapp1), "",swclr, styleCloud|styleNoLabel|styleNoRescale|styledata|styleshow, 0, 0, 0, Vwaplayer ) ;


		if (shift == -1)
		{
			prevdayvaluehigh = prevdayvwap;
			prevdayvalue = prevdayvwapm1 ;
			prevdayvaluelow = prevdayvwapm2 ;
		}

		styleshow = IIf(showprevdayvals, 0, styleNoDraw) ;
		Plot(IIf(Lastbar, Null, prevdayvalue), "Prev VWAP", Clrvwap, styleDots|styleNoRescale+stylelabel|styleNoTitle|styledata|styleshow) ;
		Plot(IIf(Lastbar, Null, prevdayvaluelow), "VAL"+strnday, Clrvwapm1, styleDots|styleNoRescale+stylelabel+styleNoTitle|styledata|styleshow) ;
		Plot(IIf(Lastbar, Null, prevdayvaluehigh), "VAH"+strnday, Clrvwapp1, styleDots|styleNoRescale+stylelabel+styleNoTitle|styledata|styleshow) ;

		Clrprevdayband = ParamColor("Prev Day Band Color", colorLightYellow);

			styleshow = IIf(showprevdayband, 0, styleNoDraw) ;
			PlotOHLC(IIf(Lastbar, Null, prevdayvaluelow), IIf(Lastbar, Null, prevdayvaluelow), IIf(Lastbar, Null, prevdayvaluehigh), IIf(Lastbar, Null, prevdayvaluehigh), "",Clrprevdayband, styleCloud|styleNoLabel|styleNoRescale|styledata|styleshow, 0, 0, 0, Vwaplayer ) ;

			styleshow = IIf(showprev2dayvals, 0, styleNoDraw) ;
			prev2dayvalue = prev2dayvwap = ValueWhen(Ref(newdt,1), RefVWAP, 2) ;
			prev2dayvaluelow = prev2dayvwapm1 = ValueWhen(Ref(newdt,1), RefVwapm1, 2) ;
			prev2dayvaluehigh = prev2dayvwapp1 = ValueWhen(Ref(newdt,1), RefVwapp1, 2) ;
			prev2dayvwapm2 = ValueWhen(Ref(newdt,1), RefVwapm2, 2) ;

			Plot(IIf(Lastbar, Null, prev2dayvalue), "2day prev VWAP"+strnday, Clrvwap, styleStaircase|styleThick|stylelabel|styleNoRescale+styleNoTitle|styledata|styleshow) ;
			Plot(IIf(Lastbar, Null, prev2dayvaluelow), "2day VAL"+strnday, Clrvwapm1, styleStaircase|styleThick|stylelabel|styleNoRescale+styleNoTitle|styledata|styleshow) ;
			Plot(IIf(Lastbar, Null, prev2dayvaluehigh), "2day VAH"+strnday, Clrvwapp1, styleStaircase|styleThick|stylelabel|styleNoRescale+styleNoTitle|styledata|styleshow) ;

		styleshow = IIf(showextprevday, 0, styleNoDraw) ;
		x0 = BarCount - (extend+1)+1 ;
		x1 = BarCount -1 ;

		Hdlast = SelectedValue(prevdayvaluehigh ) ;
		Ldlast = SelectedValue(prevdayvaluelow ) ;

		Hplot = LineArray(x0, Hdlast, x1, Hdlast) ;
		Plot(Hplot, "VAHext"+strnday, colorOrange, styleLine|styleNoLabel|styleNoTitle|styleNoRescale|styledata|styleshow, 0,0,extend, extlayer) ;
		LPlot = LineArray(x0, Ldlast, x1, Ldlast) ;
		Plot(LPlot, "VALext"+strnday, colorGreen, styleLine|styleNoLabel|styleNoTitle|styleNoRescale|styledata|styleshow, 0,0,extend, extlayer) ;

			styleshow = IIf(showextbandprevday, 0, styleNoDraw) ;
			PlotOHLC(HPlot, HPlot, LPlot, LPlot, "", Clrprevdayband, styleCloud|styleNoLabel|styleNoTitle|styleNoRescale|styledata|styleshow, 0,0,extend,extlayer ) ;


	showvwaptrend = ParamToggle("Show VWAP Trend", "No|Yes", 0) ;
	barht = Param("Bar Ht", 3, 1, 100) ;
	showvwaptrendtradearr =  ParamToggle("Show VWap Trend Arr", "No|Yes", 0) ;
	showallhalf =  ParamToggle("Show All half Triggers", "No|Yes", 1) ;

	fil = Param("Filter", 1, 1, 100, 1) ;

	showvwaptrendtriggers =  ParamToggle("Show Vwap Trend Triggers", "No|Yes", 1) ;
	showfiltered = ParamToggle("Show Filtered Text", "No|Yes", 1) ;
	trigfil = Param("Trigger Filter", 2.2, 0, 100) ;

	txtoff = Param("Text Off", 10, 0, 1000) ;

		styleshow = IIf(showvwaptrend, 0, styleNoDraw) ;
//		up = RefVwapp1 >= Ref(RefVwapp1, -1) AND RefVwapm1 >= Ref(RefVwapm1, -1);
//		down = RefVwapp1 <= Ref(RefVwapp1, -1) AND RefVwapm1 <= Ref(RefVwapm1, -1) ;
//		expand = RefVwapp1 >= Ref(RefVwapp1, -1) AND RefVwapm1 <= Ref(RefVwapm1, -1);
//		Clr = IIf(up AND down, colorLavender, IIf(up, colorBlue, IIf(down, colorRed, IIf(expand, IIf(Ct > RefVwap, colorGreen, colorLightOrange), colorLavender)))) ;
//		Plot(4, "", Clr, styleArea|styleNoLabel|styleOwnScale|styledata|styleshow, 0, 100,-1) ;

rc = IIf(showoncrb, Refc, C) ;

		up = rc > (RefVwapp1+fil) ;
		down = rc < (RefVwapm1-fil) ;

		upbias = rc > (prevdayvaluehigh+fil) ;
		dnbias = rc < (prevdayvaluelow-fil) ;
		Clr = IIf(up, colorBlue, IIf(down, colorRed, 
					IIf(upbias, colorSkyblue, 
						IIf(dnbias, colorLightOrange, colorLavender)))) ;

		Plot(barht, "", Clr, styleArea|styleNoLabel|styleOwnScale|styleshow, 0, 100,0) ;

if (showvwaptrendtradearr)
{
Clrup = colorBlue ;
Clrdn = colorRed ;
Clrupbias = colorSkyblue ;
Clrdnbias = colorLightOrange ;
Clrsw = colorLavender ;

	Buyall = Shortall = Buyhalf = Shorthalf = Coverall = Sellall = H-H ;

		Buy = Clr == Clrup OR Clr == Clrupbias ;
		Short = Clr == Clrdn OR Clr == Clrdnbias ;
		Sell = (Clr != Clrup) ;
		Cover  = (Clr != Clrdn) ;
	if (showallhalf)
	{
		Buyhalf = Clr == Clrupbias AND Ref(Clr, -1) != Clrup AND H < (RefVwapp1-fil);
		Shorthalf = Clr == Clrdnbias AND Ref(Clr, -1) != Clrdn AND L > (RefVwapm1+fil);
	}
	else
	{
		Buyhalf = Clr == Clrupbias AND Ref(Clr, -1) != Clrup AND 
				((L < RefVwap AND C > Refvwap) OR (H > RefVwapp1 AND C < Refvwapp1) );
		Shorthalf = Clr == Clrdnbias AND Ref(Clr, -1) != Clrdn AND 
				((H> RefVwap AND C < Refvwap) OR (L < RefVwapm1 AND C < Refvwapm1) );
	}

	Buyfull = Clr == Clrup ;
	Shortfull = Clr == Clrdn ;

	Buyhalf = ExRem(Buyhalf , Short OR Sell) ;
	Shorthalf = ExRem(Shorthalf , Buy OR Cover) ;

	Buyfull = ExRem(Buyfull , Short OR Sell) ;
	Shortfull = ExRem(Shortfull , Buy OR Cover) ;

shpfull = Param("Trigger Shape", 1, 1, 100) ;
ibar = Param("Trigger Display Bar", 0, -10, 10)  ;
Clrup = colorBlue;
Clrdown = colorRed ;
Clrsoh = colorBlack ;


	Sell = ExRem(Sell, Buyfull ) ;
	Cover = ExRem(Cover, Shortfull) ;
	PlotShapes((Cover AND NOT Buyhalf AND NOT Buyfull)*shpfull, ClrSOH, 0, H, 12) ;
	PlotShapes((Sell AND NOT Shorthalf AND NOT Shortfull)*(shpfull+1), ClrSOH, 0, L, 12) ;

	PlotShapes((Buyhalf AND NOT Buyfull)*(shpfull+2), ClrUp, 0, H, 12) ;
	PlotShapes((Shorthalf AND NOT Shortfull)*(shpfull+2+1), ClrDown, 0, L, 12) ;
	PlotShapes(Buyfull*shpfull, ClrUp, 0, H, 8) ;
	PlotShapes(Shortfull*(shpfull+1), ClrDown, 0, L, 8) ;

if(showvwaptrendtriggers)
{
bi = BarIndex() ;

st = LowestVisibleValue(bi) ;
ed = HighestVisibleValue(bi) ;


	for (i = st; i <=ed ; i++)
	{
		Htrig = H ;
		Ltrig = L ;
		if (showfiltered)
		{
			Htrig = ceil(H[i])+trigfil ;
			Ltrig = floor(L[i])-trigfil ;
		}

		if (Cover[i])
			PlotText(NumToStr(Htrig, 8.2), i-ibar, H[i] +txtoff-2, colorBlack) ;
		if (Sell[i])
			PlotText(NumToStr(Ltrig, 8.2), i-ibar, L[i] -txtoff-2, colorBlack) ;

		if (Buyhalf[i])
			PlotText(NumToStr(Htrig, 8.2), i-ibar, H[i] +txtoff-2, colorBlue) ;
		if (Shorthalf[i])
			PlotText(NumToStr(Ltrig, 8.2), i-ibar, L[i] -txtoff-2, colorRed) ;

		if (Buyfull[i])
			PlotText(NumToStr(Htrig, 8.2), i-ibar, H[i] +txtoff-2, colorBlue) ;
		if (Shortfull[i])
			PlotText(NumToStr(Ltrig, 8.2), i-ibar, L[i] -txtoff-2, colorRed) ;
	}
}	

}
	if (showcomm AND NOT nodraw)
	{
		tdayvalue = RefVWAP ;
		tdayvaluehigh = Refvwapp1 ;
		tdayvaluelow = Refvwapm1 ;

		prevdayscore = IIf(Avgp > prevdayvaluehigh, 1,
							IIf(Avgp > prevdayvaluelow, 0,
								-1)) ;

		tdayscore = IIf(Avgp > tdayvaluehigh, 2,
							IIf(Avgp > tdayvalue, 1,
							IIf(Avgp > tdayvaluelow, -1,
								-2))) ;

		totalscore = prevdayscore+tdayscore ;

		switch (SelectedValue(prevdayscore))
		{
			case 1: 
				strprevday = "Above VAH " + NumToStr(SelectedValue(prevdayvaluehigh), 1.1);
				Clrprevday = colorBlue ;
				break ;
			case 0: 
				strprevday = "In VAL-VH " + NumToStr(SelectedValue(prevdayvaluelow), 1.1) + " - " +  NumToStr(SelectedValue(prevdayvaluehigh), 1.1);
				Clrprevday = colorLavender ;
				break ;			
			case -1: 
				strprevday = "Below VAL " + NumToStr(SelectedValue(prevdayvaluelow), 1.1);
				Clrprevday = colorRed ;
				break ;
		}

		switch (SelectedValue(tdayscore))
		{
			case 2: 
				strtday = "Above +1SD " + NumToStr(SelectedValue(tdayvaluehigh), 1.1);
				Clrtday = colorBlue ;
				break ;
			case 1: 
				strtday = "Above VWAP " + NumToStr(SelectedValue(tdayvalue), 1.1);
				Clrtday = colorSkyblue ;
				break ;			
			case 0: 
				strtday = "VWAP " + NumToStr(SelectedValue(tdayvalue), 1.1);
				Clrtday = colorLavender ;
				break ;
			case -1: 
				strtday = "Below VWAP " + NumToStr(SelectedValue(tdayvalue), 1.1);
				Clrtday = colorRose ;
				break ;
			case -2: 
				strtday = "Below -1SD " + NumToStr(SelectedValue(tdayvaluelow), 1.1);
				Clrtday = colorRed ;
				break ;
		}

	fontsz = Param("Font Size", 14, 0, 1000, 1);
	GfxSelectFont( "Tahoma", fontsz, 100 );
	GfxSetBkMode( 1 );
	pxHeight = Status( "pxchartheight" ) ;
	pxWidth = Status( "pxchartwidth");
	dt_flag = 16 /*wordbreak*/;
	textht = 50;
	textwidth = 200 ;
	x = pxWidth - Param("from right edge", 250, 0, 1000, 1) ;
	y = Param("From Top", 50, 0, 1000, 1) ;

	GfxSetTextColor( Clrprevday );
	GfxDrawText(strprevday,  x,y, x+textwidth, y+textht , dt_flag) ;

	y = y + textht/2 ;
	GfxSetTextColor( Clrtday );
	GfxDrawText(strtday,  x,y, x+textwidth, y+textht , dt_flag) ;

	y = y ; //+ textht ;
	xbar = x + 150 ;
	Colwidth = 20 ;
	Colht = 30 ;
	tscore = SelectedValue(totalscore) ;

		switch (tscore)
		{
			case 3: 
				strnet = "Strong Bull" ;
				Clrnet = colorBlue ;
				break ;
			case 2: 
				strnet = "Mild Bull" ;
				Clrnet = colorBlue ;
				break ;
			case 1: 
				strnet = "Bull Bias" ;
				Clrnet = colorSkyblue ;
				break ;			
			case 0: 
				strnet = "Neutral" ;
				Clrnet = colorLavender ;
				break ;			
			case -1: 
				strnet = "Bear Bias" ;
				Clrnet = colorRose ;
				break ;
			case -2: 
				strnet = "Mild Bear" ;
				Clrnet = colorRed ;
				break ;
			case -3: 
				strnet = "Strong Bear" ;
				Clrnet = colorRed ;
				break ;
		}

		if (tscore > 0)
		{
			
			GfxSelectSolidBrush(colorBlue) ;
			GfxSelectPen(colorBlue) ;
			GfxRectangle(xbar, y, xbar+Colwidth, y+Colht*tscore) ;
			GfxSelectSolidBrush(colorLightGrey) ;
			GfxRectangle(xbar, y+Colht*tscore, xbar+Colwidth, y+Colht*3) ;
		}
		else if (tscore == 0)
		{
			
			GfxSelectSolidBrush(colorLavender) ;
			GfxSelectPen(colorLavender) ;
			GfxRectangle(xbar, y, xbar+Colwidth, y+Colht*3) ;

		}
		else
		{
			
			GfxSelectSolidBrush(colorRed) ;
			GfxSelectPen(colorRed) ;
			GfxRectangle(xbar, y, xbar+Colwidth, y+Colht*abs(tscore)) ;
			GfxSelectSolidBrush(colorLightGrey) ;
			GfxRectangle(xbar, y+Colht*abs(tscore), xbar+Colwidth, y+Colht*3) ;

		}

		y = y + textht/2 ;
		GfxSetTextColor( Clrnet );
		GfxDrawText(strnet,  x,y, x+textwidth, y+textht , dt_flag) ;

	}

	if (showtext AND NOT nodraw AND NOT showlvls)
	{
		str = Null ;
		if(showtxtlbl)
			str = " +1SD"  ;
		PlotText(NumToStr(RefVwapp1[BarCount-1], 1.1)+str , BarCount+1, RefVwapp1[BarCount-1],Clrtext) ;
		str = Null ;
		if(showtxtlbl)
			str = " -1SD"  ;
		PlotText(NumToStr(RefVwapm1[BarCount-1], 1.1)+str , BarCount+1, RefVwapm1[BarCount-1],Clrtext) ;
		str = Null ;
		if(showtxtlbl)
			str = " vwap" ;
		PlotText(NumToStr(RefVwap[BarCount-1], 1.1)+str , BarCount+1, RefVwap[BarCount-1],Clrtext) ;
		str = Null ;
		if(showtxtlbl)
			str = " +2SD"  ;
		PlotText(NumToStr(RefVwapp2[BarCount-1], 1.1)+str , BarCount+1, RefVwapp2[BarCount-1],Clrtext) ;
		str = Null ;
		if(showtxtlbl)
			str = " -2SD"  ;
		PlotText(NumToStr(RefVwapm2[BarCount-1], 1.1)+str , BarCount+1, RefVwapm2[BarCount-1],Clrtext) ;
	}

	if (showvahvaltext AND NOT nodraw)
	{
		str = Null ;
		if(showtxtlbl)
			str = " POC" ; ;
		PlotText(NumToStr(prevdayvalue[BarCount-1] , 1.1)+str, BarCount+1, prevdayvalue[BarCount-1],Clrtext) ;
		str = Null ;
		if(showtxtlbl)
			str = " VAL" ; ;
		PlotText(NumToStr(prevdayvaluelow[BarCount-1], 1.1)+str , BarCount+1, prevdayvaluelow[BarCount-1],Clrtext) ;
		str = Null ;
		if(showtxtlbl)
			str = " VAH" ; ;
		PlotText(NumToStr(prevdayvaluehigh[BarCount-1], 1.1)+str , BarCount+1, prevdayvaluehigh[BarCount-1],Clrtext) ;
	}

}
 

vivektrader

In persuit of financial independence.
Hi All,
Its regarding our forum member Vijkris, I had a brief conversation with him, and I am posting on his behalf.
He has been temporarily banned (for one month) for violating one of the forum rules (no foul language etc. please don't speculate), he fully accepts the responsibility of his oversight.
He would be back amongst us after the ban period is over, in the mean time please don't bother any of the moderators, especially ST sir (for whom he has utmost respect), regarding reasons for ban etc.
He also acknowledges the concern shown by many of our forum members regarding his present status.
Thanks a lot
Dr. Vivek
 

monkeybusiness

Well-Known Member
Hi All,
Its regarding our forum member Vijkris, I had a brief conversation with him, and I am posting on his behalf.
He has been temporarily banned (for one month) for violating one of the forum rules (no foul language etc. please don't speculate), he fully accepts the responsibility of his oversight.
He would be back amongst us after the ban period is over, in the mean time please don't bother any of the moderators, especially ST sir (for whom he has utmost respect), regarding reasons for ban etc.
He also acknowledges the concern shown by many of our forum members regarding his present status.
Thanks a lot
Dr. Vivek
Thanks Sir,

was worried about losing a good friend and nice human being.:thumb::thumb::thumb:
 

rip07

Well-Known Member
Hi All,
Its regarding our forum member Vijkris, I had a brief conversation with him, and I am posting on his behalf.
He has been temporarily banned (for one month) for violating one of the forum rules (no foul language etc. please don't speculate), he fully accepts the responsibility of his oversight.
He would be back amongst us after the ban period is over, in the mean time please don't bother any of the moderators, especially ST sir (for whom he has utmost respect), regarding reasons for ban etc.
He also acknowledges the concern shown by many of our forum members regarding his present status.
Thanks a lot
Dr. Vivek
Thanks Dr. I thought/think might be his situation related to me somehow, I asked too many questions regarding one topic. Hope I am not the culprit. :eek:

Thanks
rip07
 

rip07

Well-Known Member
What problem are you facing bro?
Wisp Bhai!! I tried just now, it is working on 30min TF but higher TF. For example, If I would like to see weekly VAH or VAL to get the idea of higher TF. I am posting here snapshot of both TF.

30min TF


1Hour or above showing kind of same message.


Or may be I am missing something in terms of more data?

Thanks
rip07
 

Similar threads