+91-0000000000

}

Monday – Friday : 9:00 AM – 6:30 PM

Future plotting of time and Price

Future plotting of Time and Price revolves around forecasting future price levels using historical price and time data. With Amibroker AFL, traders can develop algorithms or indicators that plot potential future price levels based on time-based patterns or historical data analysis. Amibroker data feed integration facilitates up-to-date information for precise future price plotting.

/_SECTION_BEGIN("Chart Settings");
	SetChartOptions(0,chartShowArrows|chartShowDates);
	SetChartBkColor(ParamColor("Outer Panel",1));
	SetChartBkGradientFill(ParamColor("Upper Chart",1),ParamColor("Lower Chart",23));
	GraphXSpace=Param("GraphXSpace",10,0,100,1);
	dec = (Param("Decimals",2,0,7,1)/10)+1;
	bi = BarIndex();
	Lbi = LastValue(BarIndex());
	sbi = SelectedValue(bi);
	x1= BarCount-1;
SetBarFillColor (IIf(C>O,19,IIf(CO,51,IIf(CRef(HLAvg,-1),H,L)));
	za=Zig(zp,pct);
	pR=Ref(za,-1)Ref(za,1);//pk
	pS=Ref(za,-1)>za AND zaxr0;
	Res = xr0>xs0;
	xsh = 50;
	xsbi = IIf(Res, xr0-xsh, xs0-xsh);//xstart

	za=Zig(zp,0.01);
	pR=Ref(za,-1)Ref(za,1);//pk
	pS=Ref(za,-1)>za AND za=Ay,XBe,XBi);
	XD=abs(Dy-Ay)/abs(Xy-Ay)*100;
	ACi=abs(Cy-Ay)/abs(By-Ay)*100;
	ACe=abs(By-Cy)/abs(By-Ay)*100;
	AC = IIf(Cy>=Ay,ACi,ACe);
	BDi=abs(Dy-By)/abs(By-Cy)*100;
	BDe=abs(Dy-Cy)/abs(By-Cy)*100;
	BD = IIf(Dy>=By,BDe,BDi);
//Plot Labels and Retracements
if(ptx==1)  {
	PlotText(" S ",sx,sy + va2, col,1);  PlotText(" T ",tx,ty + va1, col,1);
	PlotText(" U ",ux,uy + va2, col,1);  PlotText(" V ",vx,vy + va1, col,1);
	PlotText(" W ",IIf(sup,xr2,xs2),wy + va2, col,1);  
	PlotText(" X = "+NumToStr(WX,1.1)+" % ",xx,xy + va1, col,1);
	PlotText(" A = "+NumToStr(XA,1.1)+" % ",ax,ay + va2, col,1); 
	PlotText(" B = "+NumToStr(AB,1.1)+" % ",bx,by + va1, col,1);
	PlotText(" C = "+NumToStr(BC,1.1)+" % ",cx,cy + va2, col,1);  
	PlotText(" D = "+NumToStr(CD,1.1)+" % ",dx,dy + va1, colp,1);
	PlotText(" "+NumToStr(de,1.1)+"%",(dx+x1)/2,(dy+d1)/2,42,1);
	PlotText(" "+NumToStr(ce,1.1)+"%",(cx+x1)/2,(cy+c1)/2,42,1);
	PlotText(" "+NumToStr(XB,1.1)+" %",((xx+bx)/2)-2,(xy+by)/2, 40,1);
	PlotText(" "+NumToStr(XD,1.1)+" %",(xx+dx)/2,(xy+dy)/2, 34,1);
	PlotText(" "+NumToStr(AC,1.1)+" %",(ax+cx)/2-2,(ay+cy)/2, 10,1);
	PlotText(" "+NumToStr(BD,1.1)+" %",((bx+dx)/2)-2,(by+dy)/2, 10,1);
}
//Plot Hi-Hi Lo-Lo Lines
if(ppa==1)  {
	Plot(LineArray(dx,dy,x1,d1,0),"",42,32|4096);
	Plot(LineArray(cx,cy,x1,c1,0),"",42,32|4096);
	Plot(LineArray(sx,sy,ax,ay,1),"",35,41|4096|2048);
	Plot(LineArray(ux,uy,ax,ay,1),"",25,41|4096|2048);
	Plot(LineArray(bx,by,dx,dy,0),"",34,32|4096);
	Plot(LineArray(ax,ay,cx,cy,0),"",34,32|4096);
	Plot(LineArray(xx,xy,dx,dy,0),"",32,32|4096);
	Plot(LineArray(xx,xy,bx,by,0),"",32,32|4096);
}
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	//Count Bars Between Pivots
	xXA=xsbi+abs(ax-xx);
	xXB=xsbi+abs(bx-xx);
	xXC=xsbi+abs(cx-xx);
	xXD=xsbi+abs(dx-xx);
	xAB=xsbi+abs(bx-ax);
	xAC=xsbi+abs(cx-ax);
	xAD=xsbi+abs(dx-ax);
	xBC=xsbi+abs(cx-bx);
	xBD=xsbi+abs(dx-bx);
	xCD=xsbi+abs(dx-cx);
//==============================
if(plx==1) {
bc=IIf(sup,sbi-xs0,sbi-xr0);
tp=IIf(sup,ys0-Vsh,yr0+Vsh);
if(Res==1)  {
col=42;
Plot(bi==xCD, "", colorYellow, styleHistogram|styleOwnScale,0,1,xsh);//sample code if lines are preferred
PlotText("XA\n | "+NumToStr(abs(xx-ax)-bc,1),xxa+xsh,tp,col,1);
PlotText("XB\n | "+NumToStr(abs(bx-xx)-bc,1),xxb+xsh,tp,col,1);
PlotText("XC\n | "+NumToStr(abs(cx-xx)-bc,1),xxc+xsh,tp,col,1);
PlotText("XD\n | "+NumToStr(abs(xx-dx)-bc,1),xxd+xsh,tp,col,1);
PlotText("AB\n | "+NumToStr(abs(bx-ax)-bc,1),xab+xsh,tp,col,1);
PlotText("AC\n | "+NumToStr(abs(cx-ax)-bc,1),xac+xsh,tp,col,1);
PlotText("AD\n | "+NumToStr(abs(dx-ax)-bc,1),xad+xsh,tp,col,1);
PlotText("BC\n | "+NumToStr(abs(cx-bx)-bc,1),xbc+xsh,tp,col,1);
PlotText("BD\n | "+NumToStr(abs(dx-bx)-bc,1),xbd+xsh,tp,col,1);
PlotText("CD\n | "+NumToStr(abs(dx-cx)-bc,1),xcd+xsh,tp,col,1);
   }
if(Sup==1)  {
col=34;
Plot(bi==xCD, "", colorYellow, styleHistogram|styleOwnScale,0,1,xsh);//sample code if lines are preferred
PlotText("| "+NumToStr(abs(xx-ax)-bc,1)+"\nXA",xxa+xsh,tp,col,1);
PlotText("| "+NumToStr(abs(bx-xx)-bc,1)+"\nXB",xxb+xsh,tp,col,1);
PlotText("| "+NumToStr(abs(cx-xx)-bc,1)+"\nXC",xxc+xsh,tp,col,1);
PlotText("| "+NumToStr(abs(xx-dx)-bc,1)+"\nXD",xxd+xsh,tp,col,1);
PlotText("| "+NumToStr(abs(bx-ax)-bc,1)+"\nAB",xab+xsh,tp,col,1);
PlotText("| "+NumToStr(abs(cx-ax)-bc,1)+"\nAC",xac+xsh,tp,col,1);
PlotText("| "+NumToStr(abs(dx-ax)-bc,1)+"\nAD",xad+xsh,tp,col,1);
PlotText("| "+NumToStr(abs(cx-bx)-bc,1)+"\nBC",xbc+xsh,tp,col,1);
PlotText("| "+NumToStr(abs(dx-bx)-bc,1)+"\nBD",xbd+xsh,tp,col,1);
PlotText("| "+NumToStr(abs(dx-cx)-bc,1)+"\nCD",xcd+xsh,tp,col,1);
   }
}
//example of plotting line with start at a future point
f50= ys0+(abs(yr0-ys0)*0.50);
Plot(LineArray(xxb,f50,xxd,f50,0),"",29,32,0,0,xsh);
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Title = EncodeColor(55)+  Title = Name() + "     " + EncodeColor(32) + Date() + "      " + EncodeColor(5) + "{{INTERVAL}}  " +
	EncodeColor(55)+ "     Open = "+ EncodeColor(52)+ WriteVal(O,dec) + 
	EncodeColor(55)+ "     High = "+ EncodeColor(5) + WriteVal(H,dec) +
	EncodeColor(55)+ "      Low = "+ EncodeColor(32)+ WriteVal(L,dec) + 
	EncodeColor(55)+ "    Close = "+ EncodeColor(52)+ WriteVal(C,dec)+
	EncodeColor(55)+ "    Volume = "+ EncodeColor(52)+ WriteVal(V,1);

Open chat
1
Hi, how can I help you?