[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [amibroker] SUPER PIVOT POINTS


  • Date: Sun, 6 Dec 2009 17:40:47 +1100
  • From: "Neil Wrightson" <neilw@xxxxxxxxxx>
  • Subject: RE: [amibroker] SUPER PIVOT POINTS

PureBytes Links

Trading Reference Links

Hi,

I haven't look to closely at the code yet but I surmise that the following
two lines should have the 160000 replaced with cltn.

mkCl = ValueWhen(Cross(TimeNum(),160000),C);
xmCL = bc-BarsSince(Cross(TimeNum(),160000)>0); 

i.e.

mkCl = ValueWhen(Cross(TimeNum(),cltn),C);
xmCL = bc-BarsSince(Cross(TimeNum(),cltn)>0);


I also wonder about other lines i.e.
mkss = 110000;
mkse = 133000; tfrslo = tn>=mkss AND tn<= mkse;
va30 = 154500; tfva30 = tn>=va30 AND tn<= cltn; 
va2h = cltn-020000; tf2hrs = tn>=va2h AND tn<= cltn;


Just out of interest, what market was this originally created for?


Regards, 
Neil Wrightson. 
Skype : Neil_Wrightson 


-----Original Message-----
From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf
Of Vinay Gakkhar.
Sent: Saturday, 5 December 2009 11:16 PM
To: amibroker@xxxxxxxxxxxxxxx
Subject: [amibroker] SUPER PIVOT POINTS

Dear David K & Wooziwog,

Sorry, it is not 'gtet', it is 'gtext', at the following place:

_SECTION_BEGIN("GFX Text+Label, GFX Y, Std X"); //======================
dec=0; ha=0; procedure gtx(val,color,string,xpos) { GfxSetTextColor(color);
gtext=GfxDrawText(NumToStr(val,dec)+"-"+

Best regards,

Vinay


On Sat, 05 Dec 2009 10:21:42 +0530, wooziwog <xcitemint@xxxxxxx> wrote:

> vinay,
>
> I copy and pasted the formula below into AB 5.2.9.2 and searched for the
'gtet' that you describe, it does not exist in the formula.  I am guessing
you may have a problem with line wrapping.  GfxSetText(color) is part of a
procedure or function and I did not find any problems with them.  I am going
to post the formula in the library.  Go there and "download" the file to
avoid line wrapping.  Hopefully it will be successful.
>
> David K.
> --- In amibroker@xxxxxxxxxxxxxxx, "Vinay Gakkhar." <vgakkhar@xxx> wrote:
>>
>> Dear David K.
>>
>> When I tried your exploration on my system, I could not get the graph are
rather got error messages as follows:
>>
>> 1) A few syntax error messages (Ln: 42, Col: 16 ; Error 30, Syntax
error), the first one at the line:
>> GfxSetTextColor(color);
>>
>> 2) A message saying "variable 'gtet' used without having been initiated"
>>
>> Please rectify the exploration and repost it.
>>
>> vinay
>>
>>
>> On Fri, 04 Dec 2009 23:20:23 +0530, wooziwog <xcitemint@xxx> wrote:
>>
>> > Reinsley,
>> >
>> > Thanks for the feedback.  Replace your copy with the code below and 
>> > you will not receive the message.  The "Plot Shapes" is for 
>> > plotting starts at the Highs and Lows of the various pivots - I 
>> > have never used it so I can't be sure that all is right.  The error 
>> > message you received was due to the fact that the arrays were not 
>> > turned on when the plot shapes was turned on.  To minimize 
>> > execution time on my intraday charts I avoid executing the arrays 
>> > when the lines or text are not being used.  Now the arrays will 
>> > also be processed when plot shapes are turned on. I have not tested 
>> > the shapes plot yet - it is supposed to plot stars at the highs and 
>> > lows of the various time frames. Let me know how it works :-)
>> >
>> >
>> > David K.
>> >
>> >
>> > //======================
>> > _SECTION_BEGIN("Chart Settings");
>> > //======================
>> > 	SetChartOptions(0, chartShowDates);
>> > 	SetChartBkColor(1);
>> > 	GraphXSpace=Param("GraphXSpace",15,0,300,1);
>> > 	dec= IIf(StrRight(Name(),3) == "", 3.2, 3.2);
>> > 	bc = BarCount-1;
>> > 	bi = BarIndex();
>> > 	Lbi = LastValue(bi);
>> > 	sbi = SelectedValue(BarIndex());
>> > 	tn = TimeNum();
>> > Plot(C,"",IIf(C>O,34,IIf(C<O,32,55)),128,4);
>> > //======================
>> > 	pxchartright = Status("pxChartRight");//returns y-coordinate of 
>> > top-left corner //====================== _SECTION_BEGIN("GFX X 
>> > Conversion");
>> >       function tpX(bar)  {
>> >          lvb = Status("LastVisibleBar");
>> >          fvb = Status("FirstVisibleBar");
>> >          pxchartleft = Status("pxChartLeft");
>> >          pxchartright = Status("pxChartRight");
>> >          pxheight = Status("pxheight");
>> >          pxchartwidth = Status("pxChartWidth");
>> >       return pxchartleft+(bar-fvb)*pxchartwidth/(Lvb-fvb+1);  } 
>> > _SECTION_END(); //====================== _SECTION_BEGIN("GFX Y 
>> > Conversion");
>> >       function tPY(Value)  {
>> >          local Miny, Maxy, pxchartbottom, pxchartheight;
>> >          Miny = Status("AxisMiny");
>> >          Maxy = Status("AxisMaxy");
>> >          pxchartbottom = Status("pxChartBottom");
>> >          pxchartheight = Status("pxChartHeight");
>> >       return pxchartbottom - floor(0.5 
>> > +(Value-Miny)*pxchartheight/(Maxy-Miny));  } _SECTION_END(); 
>> > //====================== _SECTION_BEGIN("GFX Text+Label, GFX Y, Std 
>> > X"); //======================
>> > 	dec=0; ha=0;
>> >  	procedure gtx(val,color,string,xpos)  {
>> > 		GfxSetTextColor(color);
>> > 		gtext=GfxDrawText(NumToStr(val,dec)+"-"+
>> > 		StrExtract(string,0)+"
",xpos,tpY(SelectedValue(val))+ha,0,0,256);
>> > 	return gtext;  }
>> > _SECTION_END();
>> > //======================
>> > _SECTION_BEGIN("Plot Shapes");
>> > //======================
>> >       procedure plshp(x,y,shape,color,shift)
>> > 	{  PlotShapes(IIf(BarIndex()==x,shape,0),color,0,y,shift);  } 
>> > //===========================
>> > 		lls=0;  sln=0;
>> > 	procedure hrplt(tf,value,color,sty,shf) {
>> > 		Lin=LineArray(Lbi-lls-shf,LastValue(value),
>> > 		Lbi+shf,LastValue(value),1);
>> > 		Plot(IIf(tf AND sln==0,value,Null),"",color,sty,0,0,shf);
>> > 		Plot(IIf(sln==1,Lin,Null),"",color,sty,0,0,shf);  } 
>> > //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx //Time and Dates
>> > 	begD = DateNum() != Ref(DateNum(),-1);//Begin New Day
>> > 	fboD = LastValue(ValueWhen(begD,bi,1));//First Bar of Day
>> > 	endD = DateNum() != Ref(DateNum(), 1);//End of Day
>> > 	lboD = LastValue(ValueWhen(endD,bi,1));//Last Bar of Day
>> > 	lbpd = LastValue(ValueWhen(begD,bi,2)-1);//Last Bar of Previous Day
>> > 	tday = DateNum()==LastValue(DateNum(),1);//Includes current fbod to
future lbod
>> > 	pdaz= ValueWhen(begD,Ref(DateNum(),-1),1);//All bars prior to
existing lbod
>> > 	prdaz=pdaz AND NOT tday;
>> > 	notda= NOT tday;
>> > //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>> > _SECTION_BEGIN("Intraday Time Pivots"); 
>> > //===============================
>> > 	ipv = ParamList("Sup Res
Pivots","Off|All|Calculate|OHLC|Lines|Labels",3);
>> > 	psh= ParamToggle("Plot Shapes", "Off|On",0);
>> > 	htx = Param("Text Shift",18,-200,150,1);
>> > 	sln= ParamToggle("Short Lines", "Off|On",1);
>> > 	lls = Param("Short Line Length",3,0,500,1)*10;
>> > 	shf = Param("Shift Line Right",2,0,50,1);
>> > 	rsc = ParamToggle("No Rescale","Off|On",1);
>> > 	sty = ParamStyle("Style",4096);
>> > 	optn= Param("Market Open",93000,00000,235959,000500);
>> > 	cltn= Param("Market Close",161500,00000,235959,000500);
>> > 	plsi= Param("Start Plotting",083000,00000,240000,000500);
>> > 	plei= Param("End Plotting",161500,00000,240000,000500);
>> > //===================
>> > 	function tvy(tstart,tframe,array)  {
>> > 		if(array==1)y =
ValueWhen(tframe,HighestSince(Cross(tn,tstart),H),1);
>> > 		if(array==2)y =
ValueWhen(tframe,LowestSince(Cross(tn,tstart),L),1);
>> > 		y0=IIf(y>0,y,Null);
>> > 	return y0;  }
>> > //======================
>> > 	function xbar(tstart,tframe,array)  {
>> > 		if(array==1)  {
>> >
y=ValueWhen(tframe,HighestSince(Cross(tn,tstart),H),1);
>> > 			x=BarIndex()==ValueWhen(tframe AND H==y,bi);
>> > 			x0=bc-LastValue(BarsSince(x>0),1);  }
>> > 		if(array==2)  {
>> >
y=ValueWhen(tframe,LowestSince(Cross(tn,tstart),L),1);
>> > 			x=bi==ValueWhen(tframe AND L==y,bi);
>> > 			x0=bc-BarsSince(x>0);  }
>> > 	return x0;  }
>> > //==============
>> > 	if(ipv=="All" OR ipv=="Calculate" OR ipv=="Lines" OR ipv=="Labels"
OR ipv=="OHLC" OR psh==1)  {
>> > 		pmtn = optn-010000;   premkt = tn >= pmtn  AND tn <= optn;
>> > 		mk05 = optn+000500;   tfrm05 = tn>=optn AND tn<= mk05;
>> > 		mk15 = optn+001500;   tfrm15 = tn>=optn AND tn<= mk15;
>> > 		mk30 = optn+003000;   tfrm30 = tn>=optn AND tn<= mk30;
>> > 		mk45 = optn+004500;   tfrm45 = tn>=optn AND tn<= mk45;
>> > 		mk60 = optn+010000;   tfrm60 = tn>=optn AND tn<= mk60;
>> > 		mkss = 110000;
>> > 		mkse = 133000;        tfrslo = tn>=mkss AND tn<= mkse;
>> > 		va30 = 154500;        tfva30 = tn>=va30 AND tn<= cltn;
>> > 		va2h = cltn-020000;   tf2hrs = tn>=va2h AND tn<= cltn;
>> > 		mktHrs = tn>=optn AND tn<= cltn;
>> > 		pltval = tn>=plsi AND tn<= va2h;
>> > //======================
>> >
>> > 		cyHi = HighestSince(bi==fbod,H);
>> > 		cxHi = ValueWhen(tday AND H==cyHi,bi);
>> > 		cyLo = LowestSince(bi==fbod,L);
>> > 		cxLo = ValueWhen(tday AND L==cyLo,bi);
>> > 		pyHi = ValueWhen(prdaz,HighestSince(bi==lbpd,H),1);
>> > 		pxHi = ValueWhen(H==pyHi AND NOT tday ,bi);
>> > 		pyLo = ValueWhen(prdaz,LowestSince(bi==lbpd,L),1);
>> > 		pxLo = ValueWhen(L==pyLo AND NOT tday,bi);
>> > 		mkOp = ValueWhen(Cross(tn,cltn),O,1);
>> > 		xmOp = bc-BarsSince(Cross(tn,optn)>0);
>> > 		mkCl = ValueWhen(Cross(TimeNum(),160000),C);
>> > 		xmCL = bc-BarsSince(Cross(TimeNum(),160000)>0);
>> > 		xpmk = bc-BarsSince(Cross(tn,optn)>0);
//======================
>> > 		poHi=tvy(pmtn,premkt,1);  poLo=tvy(pmtn,premkt,2);
>> > 		mkHi=tvy(optn,mktHrs,1);  mkLo=tvy(optn,mktHrs,2);
>> > 		Hi05=tvy(optn,tfrm05,1);  Lo05=tvy(optn,tfrm05,2);
>> > 		Hi15=tvy(optn,tfrm15,1);  Lo15=tvy(optn,tfrm15,2);
>> > 		Hi30=tvy(optn,tfrm30,1);  Lo30=tvy(optn,tfrm30,2);
>> > 		Hi60=tvy(optn,tfrm60,1);  Lo60=tvy(optn,tfrm60,2);
>> > 		vH2h=tvy(va2h,tf2hrs,1);  vL2h=tvy(va2h,tf2hrs,2);
>> > 		vH30=tvy(va30,tfva30,1);  vL30=tvy(va30,tfva30,2);
>> > 		ACDos = (Hi15- Lo15) * 0.50;
>> > 		ACDHi=Hi15+ACDos;  ACDLo=Lo15-ACDos;
>> > 		dRange = cyHi - cyLo;
>> > 		mRange = mkHi - mkLo;
>> > 	}
>> > //===================
>> > 	sty1=8|sty|rsc*2048;  sty2=32|sty|rsc*2048;
>> > 	tfplt = TimeNum()>=plsi AND TimeNum()<=plei;
>> > 	if(ipv=="All" OR ipv=="Lines" OR ipv=="OHLC")  {
>> >   		hrplt(tfplt,mkOp,29,sty1,shf);
hrplt(tfplt,mkCl,55,sty1,shf);
>> >   		hrplt(tfplt,poHi,10,sty1,shf);
hrplt(tfplt,poLo,10,sty1,shf);
>> >   		hrplt(tfplt,mkHi,32,sty1,shf);
hrplt(tfplt,mkLo,34,sty1,shf);
>> >   		hrplt(tfplt,pyHi,25,sty1,shf);
hrplt(tfplt,pyLo,51,sty1,shf);
>> > 	}
>> > 	if(ipv=="All" OR ipv=="Lines")  {
>> >   		hrplt(tfplt,Hi05,27,sty2,shf);
hrplt(tfplt,Lo05,27,sty2,shf);
>> >   		hrplt(tfplt,Hi15,42,sty2,shf);
hrplt(tfplt,Lo15,42,sty2,shf);
>> >   		hrplt(tfplt,Hi30,11,sty2,shf);
hrplt(tfplt,Lo05,11,sty2,shf);
>> >   		hrplt(tfplt,Hi60,36,sty2,shf);
hrplt(tfplt,Lo60,36,sty2,shf);
>> >   		hrplt(tfplt,vH2h,33,sty2,shf);
hrplt(tfplt,vL2h,34,sty2,shf);
>> >   		hrplt(tfplt,vH30,25,sty2,shf);
hrplt(tfplt,vL30,51,sty2,shf);
>> >   		hrplt(tfplt,ACDHi,42,sty1,shf);
hrplt(tfplt,ACDLo,42,sty1,shf);
>> > 	}
>> > //===================
>> > 	GfxSelectFont("Tahoma",10,400); GfxSetBkColor(16);
GfxSetOverlayMode(1); GfxSetBkMode(2);
>> > 	xp=Min(tpX(htx+sbi),pxchartright-80);  	ha=-5;
>> > 	if(ipv=="All" OR ipv=="Labels" OR ipv=="OHLC")  {
>> > 		gtx(vH2h,33,"vH2h",xp); gtx(vL2h,34,"vL2h",xp);
gtx(vH30,25,"vH30",xp); gtx(vL30,51,"vL30",xp);
>> > 		gtx(mkOp,10,"mkOp",xp); gtx(mkCl,55,"mkCl",xp);
gtx(pyHi,25,"prHi",xp); gtx(pyLo,51,"prLo",xp);
>> > 		}
>> > 	if(ipv=="All" OR ipv=="Labels")  {
>> > 		gtx(poHi,10,"preH",xp); gtx(poLo,10,"PreL",xp);
gtx(mkHi,32,"mkHi",xp); gtx(mkLo,34,"mkLo",xp);
>> > 		gtx(Hi05,27,"Hi05",xp); gtx(Lo05,27,"Lo05",xp);
gtx(Hi15,42,"Hi15",xp); gtx(Hi30,11,"Hi30",xp);
>> > 		gtx(Lo30,11,"Lo30",xp); gtx(Hi60,36,"Hi60",xp);
gtx(Lo60,36,"Lo60",xp);
>> > 	}
>> > //===========================
>> > 	up=shapeStar;  dn=shapeStar;  shp=shapeNone;
>> > 	os=30;
>> > //======================
>> > 	if(psh==1)  {
>> > 		xoHi=xbar(pmtn,premkt,1);  plshp(xoHi,poHi,dn,10, os);
>> > 		xoLo=xbar(pmtn,premkt,2);  plshp(xoLo,poLo,up,10,-os);
>> > 		xmHi=xbar(optn,mktHrs,1);  plshp(xmHi,mkHi,dn,32, os+10);
>> > 		xmLo=xbar(optn,mktHrs,2);  plshp(xmLo,mkLo,up,34,-os+10);
>> > 		xH05=xbar(optn,tfrm05,1);  plshp(xH05,Hi05,dn,51, os);
>> > 		xL05=xbar(optn,tfrm05,2);  plshp(xL05,Lo05,dn,34,-os);
>> > 		xH15=xbar(optn,tfrm15,1);  plshp(xH15,Hi15,up,42, os+15);
>> > 		xL15=xbar(optn,tfrm15,2);  plshp(xL15,Lo15,up,42,-os+15);
>> > 		xH30=xbar(optn,tfrm30,1);  plshp(xH30,Hi30,dn,11, os+10);
>> > 		xL30=xbar(optn,tfrm30,2);  plshp(xL30,Lo30,up,11,-os+10);
>> > 		xH60=xbar(optn,tfrm60,1);  plshp(xH60,Hi60,dn,36, os);
>> > 		xL60=xbar(optn,tfrm60,2);  plshp(xL60,Lo60,up,36,-os+15);
>> > 		xvH2=xbar(va2h,tf2hrs,1);  plshp(xvH2,vH2h,dn,34, os);
>> > 		xvL2=xbar(va2h,tf2hrs,2);  plshp(xvL2,vL2h,up,33,-os);
>> > 		xvH3=xbar(va30,tfva30,1);  plshp(xvH3,vH30,dn,43, os);
>> > 		xvL3=xbar(va30,tfva30,2);  plshp(xvL3,vL30,up,25,-os);
>> > 	}
>> > //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>> > _SECTION_BEGIN("Market Markers");
>> > //===============================
>> > 	mkrs= ParamToggle("Plot Markers", "Off|On",0);
>> > 	if(mkrs==1)  {
>> > 	VbarO = Cross(TimeNum(),optn);
>> > 	VbarC = Cross(TimeNum(),cltn);
>> > 	Plot(VbarO,"",10,2|32|styleOwnScale|4096|4);
>> > 	Plot(VbarC,"",55,2|32|styleOwnScale|4096|4);
>> > 	}
>> > _SECTION_END();
>> > //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>> > Title = EncodeColor(55)+  Title = Name() + "     " + EncodeColor(32) +
Date() + "      " + EncodeColor(5) + "{{INTERVAL}}  " +
>> > 	//Title = EncodeColor(55)+  Date() + "   Tick = " + 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.0) +
>> > 	EncodeColor(55)+ "    bi= "+EncodeColor(42)+ WriteVal(sbi,1) +
>> > 	EncodeColor(55)+ "    Bar to End = "+ EncodeColor(10)+
WriteVal(Lbi-sbi,1.0);
>> >
>> >
>> >
>> >
>> >
>> >
>> > --- In amibroker@xxxxxxxxxxxxxxx, reinsley <reinsley@> wrote:
>> >>
>> >>
>> >> Woozi,
>> >>
>> >> The initial plot is ok. As soon as I modify param "Plot Shapes" to ON,
I
>> >> get errors.
>> >>
>> >> I hope my screen captures are published...
>> >>
>> >> Best regards
>> >>
>> >> wooziwog a écrit :
>> >> >
>> >> >
>> >> > Hi Reinsley,
>> >> >
>> >> > I see your post "Many variables not initialized" but don't
understand
>> >> > what arrays / values your are referring to.
>> >> > I would appreciate additional details.
>> >> >
>> >> > Thanks,
>> >> >
>> >> > David K.
>> >> >
>> >> > --- In amibroker@xxxxxxxxxxxxxxx
<mailto:amibroker%40yahoogroups.com>,
>> >> > reinsley <reinsley@> wrote:
>> >> >  >
>> >> >  >
>> >> >  > Woozi, Thanks for sharing
>> >> >  >
>> >> >  > Many variables not initialized...
>> >> >  >
>> >> >  > Best regards
>> >> >  >
>> >> >  >
>> >> >  > wooziwog a écrit :
>> >> >  > >
>> >> >  > >
>> >> >  > > Tim,
>> >> >  > >
>> >> >  > > The following uses AB functions for plotting intraday pivots.
>> >> >  > > You can modify it to suit your needs.
>> >> >  > > I am using version 5.2.9.2. If you have any problems with it
check for
>> >> >  > > line wrapping, I copied it from my intraday chart and tested
it.
>> >> >  > >
>> >> >  > > David K.
>> >> >  > >
>> >> >  > > //======================
>> >> >  > > _SECTION_BEGIN("Chart Settings");
>> >> >  > > //======================
>> >> >  > > SetChartOptions(0, chartShowDates);
>> >> >  > > SetChartBkColor(1);
>> >> >  > > GraphXSpace=Param("GraphXSpace",15,0,300,1);
>> >> >  > > dec= IIf(StrRight(Name(),3) == "", 3.2, 3.2);
>> >> >  > > bc = BarCount-1;
>> >> >  > > bi = BarIndex();
>> >> >  > > Lbi = LastValue(bi);
>> >> >  > > sbi = SelectedValue(BarIndex());
>> >> >  > > tn = TimeNum();
>> >> >  > > Plot(C,"",IIf(C>O,34,IIf(C<O,32,55)),128,4);
>> >> >  > > //======================
>> >> >  > > pxchartright = Status("pxChartRight");//returns y-coordinate of
>> >> > top-left
>> >> >  > > corner
>> >> >  > > //======================
>> >> >  > > _SECTION_BEGIN("GFX X Conversion");
>> >> >  > > function tpX(bar) {
>> >> >  > > lvb = Status("LastVisibleBar");
>> >> >  > > fvb = Status("FirstVisibleBar");
>> >> >  > > pxchartleft = Status("pxChartLeft");
>> >> >  > > pxchartright = Status("pxChartRight");
>> >> >  > > pxheight = Status("pxheight");
>> >> >  > > pxchartwidth = Status("pxChartWidth");
>> >> >  > > return pxchartleft+(bar-fvb)*pxchartwidth/(Lvb-fvb+1); }
>> >> >  > > _SECTION_END();
>> >> >  > > //======================
>> >> >  > > _SECTION_BEGIN("GFX Y Conversion");
>> >> >  > > function tPY(Value) {
>> >> >  > > local Miny, Maxy, pxchartbottom, pxchartheight;
>> >> >  > > Miny = Status("AxisMiny");
>> >> >  > > Maxy = Status("AxisMaxy");
>> >> >  > > pxchartbottom = Status("pxChartBottom");
>> >> >  > > pxchartheight = Status("pxChartHeight");
>> >> >  > > return pxchartbottom - floor(0.5
>> >> > +(Value-Miny)*pxchartheight/(Maxy-Miny)); }
>> >> >  > > _SECTION_END();
>> >> >  > > //======================
>> >> >  > > _SECTION_BEGIN("GFX Text+Label, GFX Y, Std X");
>> >> >  > > //======================
>> >> >  > > dec=0; ha=0;
>> >> >  > > procedure gtx(val,color,string,xpos) {
>> >> >  > > GfxSetTextColor(color);
>> >> >  > > gtext=GfxDrawText(NumToStr(val,dec)+"-"+
>> >> >  > > StrExtract(string,0)+"
",xpos,tpY(SelectedValue(val))+ha,0,0,256);
>> >> >  > > return gtext; }
>> >> >  > > _SECTION_END();
>> >> >  > > //======================
>> >> >  > > _SECTION_BEGIN("Plot Shapes");
>> >> >  > > //======================
>> >> >  > > procedure plshp(x,y,shape,color,shift)
>> >> >  > > { PlotShapes(IIf(BarIndex()==x,shape,0),color,0,y,shift); }
>> >> >  > > //======================
>> >> >  > > lls=0; sln=0;
>> >> >  > > procedure hrplt(tf,value,color,sty,shf) {
>> >> >  > > Lin=LineArray(Lbi-lls-shf,LastValue(value),
>> >> >  > > Lbi+shf,LastValue(value),1);
>> >> >  > > Plot(IIf(tf AND sln==0,value,Null),"",color,sty,0,0,shf);
>> >> >  > > Plot(IIf(sln==1,Lin,Null),"",color,sty,0,0,shf); }
>> >> >  > > //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>> >> >  > > _SECTION_BEGIN("Intraday Time Pivots");
>> >> >  > > //===============================
>> >> >  > > ipv = ParamList("Sup Res
>> >> > Pivots","Off|All|Calculate||OHLC|Lines|Labels",3);
>> >> >  > > psh= ParamToggle("Plot Shapes", "Off|On",0);
>> >> >  > > htx = Param("Text Shift",18,-200,150,1);
>> >> >  > > sln= ParamToggle("Short Lines", "Off|On",1);
>> >> >  > > lls = Param("Short Line Length",3,0,500,1)*10;
>> >> >  > > shf = Param("Shift Line Right",2,0,50,1);
>> >> >  > > rsc = ParamToggle("No Rescale","Off|On",1);
>> >> >  > > sty = ParamStyle("Style",4096);
>> >> >  > > optn= Param("Market Open",93000,00000,235959,000500);
>> >> >  > > cltn= Param("Market Close",161500,00000,235959,000500);
>> >> >  > > plsi= Param("Start Plotting",083000,00000,240000,000500);
>> >> >  > > plei= Param("End Plotting",161500,00000,240000,000500);
>> >> >  > > //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>> >> >  > > //Time and Dates
>> >> >  > > begD = DateNum() != Ref(DateNum(),-1);//Begin New Day
>> >> >  > > fboD = LastValue(ValueWhen(begD,bi,1));//First Bar of Day
>> >> >  > > endD = DateNum() != Ref(DateNum(), 1);//End of Day
>> >> >  > > lboD = LastValue(ValueWhen(endD,bi,1));//Last Bar of Day
>> >> >  > > lbpd = LastValue(ValueWhen(begD,bi,2)-1);//Last Bar of Previous
Day
>> >> >  > > tday = DateNum()==LastValue(DateNum(),1);//Includes current
fbod to
>> >> >  > > future lbod
>> >> >  > > pdaz= ValueWhen(begD,Ref(DateNum(),-1),1);//All bars prior to
>> >> > existing lbod
>> >> >  > > prdaz=pdaz AND NOT tday;
>> >> >  > > notda= NOT tday;
>> >> >  > > //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>> >> >  > > function tvy(tstart,tframe,array) {
>> >> >  > > if(array==1)y =
ValueWhen(tframe,HighestSince(Cross(tn,tstart),H),1);
>> >> >  > > if(array==2)y =
ValueWhen(tframe,LowestSince(Cross(tn,tstart),L),1);
>> >> >  > > y0=IIf(y>0,y,Null);
>> >> >  > > return y0; }
>> >> >  > > //======================
>> >> >  > > function xbar(tstart,tframe,array) {
>> >> >  > > if(array==1) {
>> >> >  > > y=ValueWhen(tframe,HighestSince(Cross(tn,tstart),H),1);
>> >> >  > > x=BarIndex()==ValueWhen(tframe AND H==y,bi);
>> >> >  > > x0=bc-LastValue(BarsSince(x>0),1); }
>> >> >  > > if(array==2) {
>> >> >  > > y=ValueWhen(tframe,LowestSince(Cross(tn,tstart),L),1);
>> >> >  > > x=bi==ValueWhen(tframe AND L==y,bi);
>> >> >  > > x0=bc-BarsSince(x>0); }
>> >> >  > > return x0; }
>> >> >  > > //==============
>> >> >  > > if(ipv=="All" OR ipv=="Calculate" OR ipv=="Lines" OR
ipv=="Labels" OR
>> >> >  > > ipv=="OHLC") {
>> >> >  > > pmtn = optn-010000; premkt = tn >= pmtn AND tn <= optn;
>> >> >  > > mk05 = optn+000500; tfrm05 = tn>=optn AND tn<= mk05;
>> >> >  > > mk15 = optn+001500; tfrm15 = tn>=optn AND tn<= mk15;
>> >> >  > > mk30 = optn+003000; tfrm30 = tn>=optn AND tn<= mk30;
>> >> >  > > mk45 = optn+004500; tfrm45 = tn>=optn AND tn<= mk45;
>> >> >  > > mk60 = optn+010000; tfrm60 = tn>=optn AND tn<= mk60;
>> >> >  > > mkss = 110000;
>> >> >  > > mkse = 133000; tfrslo = tn>=mkss AND tn<= mkse;
>> >> >  > > va30 = 154500; tfva30 = tn>=va30 AND tn<= cltn;
>> >> >  > > va2h = cltn-020000; tf2hrs = tn>=va2h AND tn<= cltn;
>> >> >  > > mktHrs = tn>=optn AND tn<= cltn;
>> >> >  > > pltval = tn>=plsi AND tn<= va2h;
>> >> >  > > //======================
>> >> >  > >
>> >> >  > > cyHi = HighestSince(bi==fbod,H);
>> >> >  > > cxHi = ValueWhen(tday AND H==cyHi,bi);
>> >> >  > > cyLo = LowestSince(bi==fbod,L);
>> >> >  > > cxLo = ValueWhen(tday AND L==cyLo,bi);
>> >> >  > > pyHi = ValueWhen(prdaz,HighestSince(bi==lbpd,H),1);
>> >> >  > > pxHi = ValueWhen(H==pyHi AND NOT tday ,bi);
>> >> >  > > pyLo = ValueWhen(prdaz,LowestSince(bi==lbpd,L),1);
>> >> >  > > pxLo = ValueWhen(L==pyLo AND NOT tday,bi);
>> >> >  > > mkOp = ValueWhen(Cross(tn,cltn),O,1);
>> >> >  > > xmOp = bc-BarsSince(Cross(tn,optn)>0);
>> >> >  > > mkCl = ValueWhen(Cross(TimeNum(),160000),C);
>> >> >  > > xmCL = bc-BarsSince(Cross(TimeNum(),160000)>0);
>> >> >  > > xpmk = bc-BarsSince(Cross(tn,optn)>0);
>> >> >  > > //======================
>> >> >  > > poHi=tvy(pmtn,premkt,1); poLo=tvy(pmtn,premkt,2);
>> >> >  > > mkHi=tvy(optn,mktHrs,1); mkLo=tvy(optn,mktHrs,2);
>> >> >  > > Hi05=tvy(optn,tfrm05,1); Lo05=tvy(optn,tfrm05,2);
>> >> >  > > Hi15=tvy(optn,tfrm15,1); Lo15=tvy(optn,tfrm15,2);
>> >> >  > > Hi30=tvy(optn,tfrm30,1); Lo30=tvy(optn,tfrm30,2);
>> >> >  > > Hi60=tvy(optn,tfrm60,1); Lo60=tvy(optn,tfrm60,2);
>> >> >  > > vH2h=tvy(va2h,tf2hrs,1); vL2h=tvy(va2h,tf2hrs,2);
>> >> >  > > vH30=tvy(va30,tfva30,1); vL30=tvy(va30,tfva30,2);
>> >> >  > > ACDos = (Hi15- Lo15) * 0.50;
>> >> >  > > ACDHi=Hi15+ACDos; ACDLo=Lo15-ACDos;
>> >> >  > > dRange = cyHi - cyLo;
>> >> >  > > mRange = mkHi - mkLo;
>> >> >  > > }
>> >> >  > > //===================
>> >> >  > > sty1=8|sty|rsc*2048; sty2=32|sty|rsc*2048;
>> >> >  > > tfplt = TimeNum()>=plsi AND TimeNum()<=plei;
>> >> >  > > if(ipv=="All" OR ipv=="Lines" OR ipv=="OHLC") {
>> >> >  > > hrplt(tfplt,mkOp,29,sty1,shf); hrplt(tfplt,mkCl,55,sty1,shf);
>> >> >  > > hrplt(tfplt,poHi,10,sty1,shf); hrplt(tfplt,poLo,10,sty1,shf);
>> >> >  > > hrplt(tfplt,mkHi,32,sty1,shf); hrplt(tfplt,mkLo,34,sty1,shf);
>> >> >  > > hrplt(tfplt,pyHi,25,sty1,shf); hrplt(tfplt,pyLo,51,sty1,shf);
>> >> >  > > }
>> >> >  > > if(ipv=="All" OR ipv=="Lines") {
>> >> >  > > hrplt(tfplt,Hi05,27,sty2,shf); hrplt(tfplt,Lo05,27,sty2,shf);
>> >> >  > > hrplt(tfplt,Hi15,42,sty2,shf); hrplt(tfplt,Lo15,42,sty2,shf);
>> >> >  > > hrplt(tfplt,Hi30,11,sty2,shf); hrplt(tfplt,Lo05,11,sty2,shf);
>> >> >  > > hrplt(tfplt,Hi60,36,sty2,shf); hrplt(tfplt,Lo60,36,sty2,shf);
>> >> >  > > hrplt(tfplt,vH2h,33,sty2,shf); hrplt(tfplt,vL2h,34,sty2,shf);
>> >> >  > > hrplt(tfplt,vH30,25,sty2,shf); hrplt(tfplt,vL30,51,sty2,shf);
>> >> >  > > hrplt(tfplt,ACDHi,42,sty1,shf); hrplt(tfplt,ACDLo,42,sty1,shf);
>> >> >  > > }
>> >> >  > > //===================
>> >> >  > > GfxSelectFont("Tahoma",10,400); GfxSetBkColor(16);
>> >> > GfxSetOverlayMode(1);
>> >> >  > > GfxSetBkMode(2);
>> >> >  > > xp=Min(tpX(htx+sbi),pxchartright-80); ha=-5;
>> >> >  > > if(ipv=="All" OR ipv=="Labels" OR ipv=="OHLC") {
>> >> >  > > gtx(vH2h,33,"vH2h",xp); gtx(vL2h,34,"vL2h",xp);
>> >> > gtx(vH30,25,"vH30",xp);
>> >> >  > > gtx(vL30,51,"vL30",xp);
>> >> >  > > gtx(mkOp,10,"mkOp",xp); gtx(mkCl,55,"mkCl",xp);
>> >> > gtx(pyHi,25,"prHi",xp);
>> >> >  > > gtx(pyLo,51,"prLo",xp);
>> >> >  > > }
>> >> >  > > if(ipv=="All" OR ipv=="Labels") {
>> >> >  > > gtx(poHi,10,"preH",xp); gtx(poLo,10,"PreL",xp);
>> >> > gtx(mkHi,32,"mkHi",xp);
>> >> >  > > gtx(mkLo,34,"mkLo",xp);
>> >> >  > > gtx(Hi05,27,"Hi05",xp); gtx(Lo05,27,"Lo05",xp);
>> >> > gtx(Hi15,42,"Hi15",xp);
>> >> >  > > gtx(Hi30,11,"Hi30",xp);
>> >> >  > > gtx(Lo30,11,"Lo30",xp); gtx(Hi60,36,"Hi60",xp);
gtx(Lo60,36,"Lo60",xp);
>> >> >  > > }
>> >> >  > > //===========================
>> >> >  > > up=shapeStar; dn=shapeStar; shp=shapeNone;
>> >> >  > > os=30;
>> >> >  > > //======================
>> >> >  > > if(psh==1) {
>> >> >  > > xoHi=xbar(pmtn,premkt,1); plshp(xoHi,preH,dn,10, os);
>> >> >  > > xoLo=xbar(pmtn,premkt,2); plshp(xoLo,preL,up,10,-os);
>> >> >  > > xmHi=xbar(optn,mktHrs,1); plshp(xmHi,mkHi,dn,32, os+10);
>> >> >  > > xmLo=xbar(optn,mktHrs,2); plshp(xmLo,mkLo,up,34,-os+10);
>> >> >  > > xH05=xbar(optn,tfrm05,1); plshp(xH05,Hi05,dn,51, os);
>> >> >  > > xL05=xbar(optn,tfrm05,2); plshp(xL05,Lo05,dn,34,-os);
>> >> >  > > xH15=xbar(optn,tfrm15,1); plshp(xH15,Hi15,up,42, os+15);
>> >> >  > > xL15=xbar(optn,tfrm15,2); plshp(xL15,Lo15,up,42,-os+15);
>> >> >  > > xH30=xbar(optn,tfrm30,1); plshp(xH30,Hi30,dn,11, os+10);
>> >> >  > > xL30=xbar(optn,tfrm30,2); plshp(xL30,Lo30,up,11,-os+10);
>> >> >  > > xH60=xbar(optn,tfrm60,1); plshp(xH60,Hi60,dn,36, os);
>> >> >  > > xL60=xbar(optn,tfrm60,2); plshp(xL60,Lo60,up,36,-os);
>> >> >  > > xvH2=xbar(va2h,tf2hrs,1); plshp(xvH2,vH2h,dn,34, os);
>> >> >  > > xvL2=xbar(va2h,tf2hrs,2); plshp(xvL2,vL2h,up,33,-os);
>> >> >  > > xvH3=xbar(va30,tfva30,1); plshp(xvH3,vH30,dn,43, os);
>> >> >  > > xvL3=xbar(va30,tfva30,2); plshp(xvL3,vL30,up,25,-os);
>> >> >  > > }
>> >> >  > > //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>> >> >  > > _SECTION_BEGIN("Market Markers");
>> >> >  > > //===============================
>> >> >  > > mkrs= ParamToggle("Plot Markers", "Off|On",0);
>> >> >  > > if(mkrs==1) {
>> >> >  > > VbarO = Cross(TimeNum(),optn);
>> >> >  > > VbarC = Cross(TimeNum(),cltn);
>> >> >  > > Plot(VbarO,"",10,2|32|styleOwnScale|4096|4);
>> >> >  > > Plot(VbarC,"",55,2|32|styleOwnScale|4096|4);
>> >> >  > > }
>> >> >  > > _SECTION_END();
>> >> >  > > //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>> >> >  > > Title = EncodeColor(55)+ Title = Name() + " " + EncodeColor(32)
+
>> >> > Date()
>> >> >  > > + " " + EncodeColor(5) + "{{INTERVAL}} " +
>> >> >  > > //Title = EncodeColor(55)+ Date() + " Tick = " + 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.0)
+
>> >> >  > > EncodeColor(55)+ " bi= "+EncodeColor(42)+ WriteVal(sbi,1) +
>> >> >  > > EncodeColor(55)+ " Bar to End = "+ EncodeColor(10)+
>> >> > WriteVal(Lbi-sbi,1.0);
>> >> >  > >
>> >> >  > > --- In amibroker@xxxxxxxxxxxxxxx
>> >> > <mailto:amibroker%40yahoogroups.com>
<mailto:amibroker%40yahoogroups.com>,
>> >> >  > > "Tim" <timkthung@> wrote:
>> >> >  > > >
>> >> >  > > > Thanks de again. Let me try to figure out something.
>> >> >  > > >
>> >> >  > > >
>> >> >  > > > From: de_techneut
>> >> >  > > > Sent: Friday, December 04, 2009 6:50 AM
>> >> >  > > > To: amibroker@xxxxxxxxxxxxxxx
>> >> > <mailto:amibroker%40yahoogroups.com>
<mailto:amibroker%40yahoogroups.com>
>> >> >  > > > Subject: [amibroker] Re: SUPER PIVOT POINTS
>> >> >  > > >
>> >> >  > > >
>> >> >  > > >
>> >> >  > > > Hi Tim, I am also just getting to know Amibroker and AFL, the
.dll
>> >> >  > > was not written by me. I would like to ask more experienced
users to
>> >> >  > > help a hand here. I can tell you the logic in the code but
>> >> > implementing
>> >> >  > > it and getting nothing but green (no errors ) is a bridge to
far
>> >> > for me
>> >> >  > > now. the logic to be used could be : determine the highest high
of a
>> >> >  > > period the lowest low and the close. calculate your pivots
>> >> >  > > >
>> >> >  > > >
>> >> >  > > >
>> >> >  > > > use deFlagTimeRange( starttime, endtime) to mark your market
open
>> >> > and
>> >> >  > > you market close
>> >> >  > > >
>> >> >  > > >
>> >> >  > > > then something like
>> >> >  > > >
>> >> >  > > >
>> >> >  > > > openmarket=deFlagTimeRange( starttime, endtime);
>> >> >  > > >
>> >> >  > > >
>> >> >  > > > highofmarket=null;//initialisation
>> >> >  > > > lowofmarket=null;//initialisation
>> >> >  > > > if (openmarket)
>> >> >  > > > {
>> >> >  > > > highofmarket=iif(h>highofmarket,h,highofmarket);
>> >> >  > > > lowofmarket=iif(l<lowofmarket,l,lowofmarket);
>> >> >  > > > marketpivot= (highofmarket+ lowofmarket+c)/3;
>> >> >  > > > suport1=(marketpivot*2)-highofmarket;
>> >> >  > > > resistance1=(marketpivot*2)-lowofmarket;
>> >> >  > > > /* and so on */
>> >> >  > > > }
>> >> >  > > > this is just of the top of my head, i haven't tested this
code ( i
>> >> >  > > doubt it works but maybe you get the idea and can take it
further.
>> >> >  > > >
>> >> >  > > >
>> >> >  > > > Kind regards
>> >> >  > > > Marc
>> >> >  > > >
>> >> >  > > >
>> >> >  > > >
>> >> >  > > >
>> >> >  > > >
>> >> >  > > >
>> >> >  > > > --- In amibroker@xxxxxxxxxxxxxxx
>> >> > <mailto:amibroker%40yahoogroups.com>
>> >> >  > > <mailto:amibroker%40yahoogroups.com>, "Tim" <timkthung@> wrote:
>> >> >  > > >
>> >> >  > > >
>> >> >  > > > >
>> >> >  > > > > Thanks de. I had downloaded it. Would you please show me
how to
>> >> > use
>> >> >  > > it.
>> >> >  > > > >
>> >> >  > > > >
>> >> >  > > > > From: de_techneut
>> >> >  > > > > Sent: Thursday, December 03, 2009 11:29 PM
>> >> >  > > > > To: amibroker@xxxxxxxxxxxxxxx
>> >> > <mailto:amibroker%40yahoogroups.com>
<mailto:amibroker%40yahoogroups.com>
>> >> >  > > > > Subject: [amibroker] Re: SUPER PIVOT POINTS
>> >> >  > > > >
>> >> >  > > > >
>> >> >  > > > >
>> >> >  > > > > Hi Tim, it is possible to do that with the use of a plugin
called
>> >> >  > > deDATETIME. it has functions which enables you to define your
own time
>> >> >  > > interval hope this helps. Marc
>> >> >  > > > > --- In amibroker@xxxxxxxxxxxxxxx
>> >> > <mailto:amibroker%40yahoogroups.com>
>> >> >  > > <mailto:amibroker%40yahoogroups.com>, "Tim" timkthung@ wrote:
>> >> >  > > > > >
>> >> >  > > > > > Hello everybody,
>> >> >  > > > > > Would anyone please tell me whether we could define the
cutting
>> >> >  > > time in calculating the daily pivots for the next day.
>> >> >  > > > > > I raise this issue because of my time-zone difference
from
>> >> > the NY
>> >> >  > > stock exchange.
>> >> >  > > > > > Much appreciate if anyone could help.
>> >> >  > > > > >
>> >> >  > > > > > Tim
>> >> >  > > > > >
>> >> >  > > > >
>> >> >  > > >
>> >> >  > >
>> >> >  > >
>> >> >  >
>> >> >
>> >> >
>> >>
>> >
>> >
>> >
>>
>>
>> --
>>
>
>
>


-- 


------------------------------------

**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

TO GET TECHNICAL SUPPORT send an e-mail directly to 
SUPPORT {at} amibroker.com

TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

Yahoo! Groups Links





------------------------------------

**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

TO GET TECHNICAL SUPPORT send an e-mail directly to 
SUPPORT {at} amibroker.com

TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    amibroker-digest@xxxxxxxxxxxxxxx 
    amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/