Welcome Features News Download Registration Support FAQ Wish list Links
Advanced stock charting and analysis program

AFL Library

This is read-only version of AFL library entry. Ability to add user formulas and comment is only available from members-only area.

Details:

Formula name: SUPER PIVOT POINTS
Author/Uploader: Avi ben a - avi111a [at] yahoo.com
Date/Time added: 2006-11-09 14:15:19
Origin:
Keywords:
Level: basic
Flags: indicator

DISCLAIMER: Most formulas present in AFL on-line library are submitted by the users and are provided here on an "as is" and "as available" basis. AmiBroker.com makes no representations or warranties of any kind to the contents or the operation of material presented here. We do not maintain nor provide technical support for 3rd party formulas.
Description:

hi all
SUPER PIVOT POINTS can by used in 2 ways:
if you choose daily, the pivots are calculated from the previous day,
this can be used for daily charts.
the second option is next day for EOD charts.
for all the options available right click on the chart parameters.
to utilize all the program features you need amibroker from version 4.80.1 and above.
enjoy!

Formula:

_SECTION_BEGIN("pivots mw");
/***************************************/
/*SUPER PIVOT POINTS ver 1.3 day week month
by Avi b a
/***************************************/
/*
SUPER PIVOT POINTS can by used in 2 ways:
if you choose daily, the pivots are calculated from the previous day,
this can be used for daily charts.
the second option is next day for EOD charts.
for all the options available right click on the chart parameters.
to utilize all the program features you need amibroker from version 4.80.1 and
above.
enjoy!
*/
/*-----------------data------------------*/
SetChartBkColor(16 ) ;
k=IIf(ParamList("select type","daily|next day")=="daily",-1,0);
k1=-1;
TimeFrameSet(inDaily);
day_h= LastValue(Ref(H,K));
day_l= LastValue(Ref(L,K));
day_c= LastValue(Ref(C,K));
TimeFrameRestore();

TimeFrameSet(inWeekly);
Week_h= LastValue(Ref(H,K1));
Week_l= LastValue(Ref(L,K1));;
Week_c= LastValue(Ref(C,K1));;
TimeFrameRestore();

TimeFrameSet(inMonthly);
month_h= LastValue(Ref(H,K1));
month_l= LastValue(Ref(L,K1));
month_c= LastValue(Ref(C,K1));
TimeFrameRestore();

/*--------------------------------------*/
// day
DH=Day_h;
DL=Day_L;
DC=Day_C;

// DAY PIVOT Calculation
pd = ( DH+ DL + DC )/3;
sd1 = (2*pd)-DH;
sd2 = pd -(DH - DL);
sd3 = Sd1 - (DH-DL); 
rd1 = (2*pd)-DL;
rd2 = pd +(DH -DL);
rd3 = rd1 +(DH-DL);

// week
WH=Week_h;
WL=Week_l;
WC=Week_c;

// WEEK PIVOT Calculation
pw = ( WH+ WL + WC )/3;
sw1 = (2*pw)-WH;
sw2 = pw -(WH - WL);
sw3 = Sw1 - (WH-WL); 
rw1 = (2*pw)-WL;
rw2 = pw +(WH -WL);
rw3 = rw1 +(WH-WL);

// month
MH=month_h;
ML=month_l;
MC=month_c;

// MONTH PIVOT Calculation
pm = ( MH+ ML + MC )/3;
sm1 = (2*pm)-MH;
sm2 = pm -(MH - ML);
sm3 = Sm1 - (MH-ML); 
rm1 = (2*pm)-ML;
rm2 = pm +(MH -ML);
rm3 = rm1 +(MH-ML);

/*--------------------------------------*/
// PARAMETERS
slide =  Param("slide all",33,-1000,1000,1);
slide1 = Param("slide_day",50,0,1000,1);
slide2 = Param("slide_week",70,0,1000,1);
slide3 = Param("slide_month",90,0,1000,1);
slide_Hight =  Param("slide_Hight",0,-1000,1000,1);


SHALD = ParamList("daily Pivots", "all|selected only|hide" );
SHALW = ParamList("weekly Pivots", "selected only|all|hide" );
SHALM = ParamList("monthly Pivots", "selected only|all|hide" ); 

//day
PDP = ParamList("DP",   "SHOW|HIDE" ); 
PDR1 = ParamList("DR1", "SHOW|HIDE" ); 
PDR2 = ParamList("DR2", "HIDE|SHOW"  ); 
PDR3 = ParamList("DR3", "HIDE|SHOW" ); 

PDS1 = ParamList("DS1", "SHOW|HIDE" ); 
PDS2 = ParamList("DS2", "HIDE|SHOW" ); 
PDS3 = ParamList("DS3", "HIDE|SHOW" ); 


//week
PWP = ParamList("WP", "SHOW|HIDE" ); 
PWR1 = ParamList("WR1", "SHOW|HIDE" ); 
PWR2 = ParamList("WR2", "HIDE|SHOW" ); 
PWR3 = ParamList("WR3", "HIDE|SHOW" ); 

PWS1 = ParamList("WS1", "SHOW|HIDE" ); 
PWS2 = ParamList("WS2", "HIDE|SHOW" ); 
PWS3 = ParamList("WS3", "HIDE|SHOW" ); 

//month
PMP = ParamList("MP",   "SHOW|HIDE" ); 
PMR1 = ParamList("MR1", "SHOW|HIDE" ); 
PMR2 = ParamList("MR2", "HIDE|SHOW"  ); 
PMR3 = ParamList("MR3", "HIDE|SHOW" ); 

PMS1 = ParamList("MS1", "SHOW|HIDE" ); 
PMS2 = ParamList("MS2", "HIDE|SHOW" ); 
PMS3 = ParamList("MS3", "HIDE|SHOW" ); 

DayCOLOR = 34;
weekCOLOR =10; 
monthCOLOR =42;
/*--------------------------------------*/
// LABELS
for( i = 0; i < BarCount; i++ ) 
{
 //day
 if(i+slide1== BarCount && (PDP=="SHOW" OR SHALD=="all") && SHALD!="hide")
PlotText( "daily Pivot  "+pd ,i+slide,pd+slide_Hight ,DayCOLOR);
 if(i+slide1== BarCount && (PDR1=="SHOW" OR SHALD=="all")&& SHALD!="hide")
PlotText( "daily R1  "+rd1 ,i+slide,rd1+slide_Hight ,DayCOLOR  ); 
 if(i+slide1== BarCount && (PDR2=="SHOW" OR SHALD=="all")&& SHALD!="hide")
PlotText( "daily R2 "+rd2 ,i+slide,rd2+slide_Hight ,DayCOLOR  );
 if(i+slide1== BarCount && (PDR3=="SHOW" OR SHALD=="all")&& SHALD!="hide")
PlotText( "daily R3 "+rd3 ,i+slide,rd3+slide_Hight ,DayCOLOR  );

 if(i+slide1== BarCount && (PDS1=="SHOW" OR SHALD=="all")&& SHALD!="hide")
PlotText( "daily  S1 "+sd1 ,i+slide,sd1+slide_Hight ,DayCOLOR  );
 if(i+slide1== BarCount && (PDS2=="SHOW" OR SHALD=="all")&& SHALD!="hide")
PlotText( "daily  S2 "+sd2 ,i+slide,sd2+slide_Hight ,DayCOLOR  );
 if(i+slide1== BarCount && (PDS3=="SHOW" OR SHALD=="all")&& SHALD!="hide")
PlotText( "daily  S3 "+sd3 ,i+slide,sd3+slide_Hight ,DayCOLOR  );

 //week
 if(i+slide2== BarCount && (PWP=="SHOW"  OR SHALW=="all")&& SHALW!="hide")
PlotText( "weekly Pivot  "+pw ,i+slide,pw+slide_Hight ,weekCOLOR );
 if(i+slide2== BarCount && (PWR1=="SHOW" OR SHALW=="all")&& SHALW!="hide")
PlotText( "weekly R1  "+rw1 ,i+slide,rw1+slide_Hight ,weekCOLOR ); 
 if(i+slide2== BarCount && (PWR2=="SHOW" OR SHALW=="all")&& SHALW!="hide")
PlotText( "weekly R2 "+rw2 ,i+slide,rw2+slide_Hight ,weekCOLOR );
 if(i+slide2== BarCount && (PWR3=="SHOW" OR SHALW=="all")&& SHALW!="hide")
PlotText( "weekly R3 "+rw3 ,i+slide,rw3+slide_Hight ,weekCOLOR );

 if(i+slide2== BarCount && (PWS1=="SHOW" OR SHALW=="all")&& SHALW!="hide")
PlotText( "weekly S1 "+sw1 ,i+slide,sw1+slide_Hight ,weekCOLOR );
 if(i+slide2== BarCount && (PWS2=="SHOW" OR SHALW=="all")&& SHALW!="hide")
PlotText( "weekly S2 "+sw2 ,i+slide,sw2+slide_Hight ,weekCOLOR );
 if(i+slide2== BarCount && (PWS3=="SHOW" OR SHALW=="all")&& SHALW!="hide")
PlotText( "weekly S3 "+sw3 ,i+slide,sw3+slide_Hight ,weekCOLOR );
 //month 
 if(i+slide3== BarCount && (PMP=="SHOW"  OR SHALM=="all")&& SHALM!="hide")
PlotText( "monthly Pivot  "+pm ,i+slide,Pm+slide_Hight ,monthCOLOR );
 if(i+slide3== BarCount && (PMR1=="SHOW" OR SHALM=="all")&& SHALM!="hide")
PlotText( "monthly R1 "+rm1 ,i+slide,rm1+slide_Hight ,monthCOLOR );
 if(i+slide3== BarCount && (PMR2=="SHOW" OR SHALM=="all")&& SHALM!="hide")
PlotText( "monthly R2 "+rm2 ,i+slide,rm2+slide_Hight ,monthCOLOR );
 if(i+slide3== BarCount && (PMR3=="SHOW" OR SHALM=="all")&& SHALM!="hide")
PlotText( "monthly R3 "+rm3 ,i+slide,rm3+slide_Hight ,monthCOLOR );

 if(i+slide3== BarCount && (PMS1=="SHOW" OR SHALM=="all")&&
SHALM!="hide")PlotText( "monthly S1 "+sm1 ,i+slide,sm1+slide_Hight
,monthCOLOR);
 if(i+slide3== BarCount && (PMS2=="SHOW" OR SHALM=="all")&& SHALM!="hide")
PlotText( "monthly S2 "+sm2 ,i+slide,sm2+slide_Hight ,monthCOLOR );
 if(i+slide3== BarCount && (PMS3=="SHOW" OR SHALM=="all")&& SHALM!="hide")
PlotText( "monthly S3 "+sm3 ,i+slide,sm3+slide_Hight ,monthCOLOR );
}
/*--------------------------------------*/
// PLOTS
 style = IIf(ParamList("Chart style",
"styleCandle|styleBar")=="styleCandle",64,128);
 Plot (C,Date ()+" close",11,style);
 //day
 if ((PDP=="SHOW" OR SHALD=="all")  && SHALD!="hide") Plot (pd,"daily Pivot
",DayCOLOR,1);
 if ((PDR1=="SHOW" OR SHALD=="all") && SHALD!="hide") Plot (rd1,"daily R1
",DayCOLOR,32);
 if ((PDR2=="SHOW" OR SHALD=="all") && SHALD!="hide") Plot (rd2,"daily R2
",DayCOLOR,32);
 if ((PDR3=="SHOW" OR SHALD=="all") && SHALD!="hide") Plot (rd3,"daily R3
",DayCOLOR,32);

 if ((PDS1=="SHOW" OR SHALD=="all") && SHALD!="hide") Plot (sd1,"daily S1
",DayCOLOR,32);
 if ((PDS2=="SHOW" OR SHALD=="all") && SHALD!="hide") Plot (Sd2,"daily S2
",DayCOLOR,32);
 if ((PDS3=="SHOW" OR SHALD=="all") && SHALD!="hide") Plot (Sd3,"daily S3
",DayCOLOR,32);

//week
 if ((PWP=="SHOW"  OR SHALW=="all") && SHALW!="hide") Plot (pW,"weekly Pivot
",weekCOLOR,1);
 if ((PWR1=="SHOW" OR SHALW=="all") && SHALW!="hide") Plot (rw1,"weekly R1
",weekCOLOR,32);
 if ((PWR2=="SHOW" OR SHALW=="all") && SHALW!="hide") Plot (rw2,"weekly R2
",weekCOLOR,32);
 if ((PWR3=="SHOW" OR SHALW=="all") && SHALW!="hide") Plot (rw3,"weekly R3
",weekCOLOR,32);

 if ((PWS1=="SHOW" OR SHALW=="all") && SHALW!="hide") Plot (sw1,"weekly S1
",weekCOLOR,32);
 if ((PWS2=="SHOW" OR SHALW=="all") && SHALW!="hide") Plot (Sw2,"weekly S2
",weekCOLOR,32);
 if ((PWS3=="SHOW" OR SHALW=="all") && SHALW!="hide") Plot (Sw3,"weekly S3
",weekCOLOR,32);

 //month
 if ((PMP=="SHOW"  OR SHALM=="all") && SHALM!="hide") Plot (pm,"monthly
Pivot",monthCOLOR ,1);
 if ((PMR1=="SHOW" OR SHALM=="all") && SHALM!="hide") Plot (rm1,"monthly
R1",monthCOLOR ,32);
 if ((PMR2=="SHOW" OR SHALM=="all") && SHALM!="hide") Plot (rm2,"monthly
R2",monthCOLOR ,32);
 if ((PMR3=="SHOW" OR SHALM=="all") && SHALM!="hide") Plot (rm3,"monthly
R3",monthCOLOR ,32);

 if ((PMS1=="SHOW" OR SHALM=="all") && SHALM!="hide") Plot (sm1,"monthly
S1",monthCOLOR ,32);
 if ((PMS2=="SHOW" OR SHALM=="all") && SHALM!="hide") Plot (sm2,"monthly
S2",monthCOLOR ,32);
 if ((PMS3=="SHOW" OR SHALM=="all") && SHALM!="hide") Plot (sm3,"monthly
S3",monthCOLOR ,32);
/*--------------------------------------*/
// TEXT
"high  = "+H;
"low   =  "+L;
"close = "+C;
_SECTION_END();

Comments:

Lal

2006-11-09 14:16:40
Hi Avi,

Nice work! Well done!
vimi
vimi_in [at] yahoo.com
2006-11-09 14:17:09
A good work .
Please tell if it works efficientlty and how dependents are the results???
Take care,
Vimi
Avi ben a
avi111a [at] yahoo.com
2006-11-09 14:23:39
hi Vimi
the question is a bit not focused.
i'll try to put light on this,
they are few ways to use pivots.
first, i use them in swing plays i put
the weekly and monthly pivots levels to
and seek for retracments or continuation to next levels.(like if the values hit S1 on monthly
and we're in uptrend, i'll buy on this line)
i trade in mostly the e-mini's.
second, in the intrday, you can use the levels
in similar way,like, if the trend is Up
and the're was retracment to R1 for example,
i'll buy and sell on the next 2 levels(R3).
there are few more techanics , envoles
buy or sell with japanese candles on the Pivot lines.
hope it helps.
Graham
gkavanagh [at] e-wire.net.au
2006-11-10 02:04:12
If you were planning to use this on a daily chart, ( there is otherwise no reason to have used timeframeset) you need to expand the weekly and monthly variables using timeframeexpand.
eg// week
WH=timeframeexpand(Week_h,inweekly);

Otherwise this will not provide correct results as the weekly and monthly are compressed up to the end of the chart, using only as many bars as there are weeks or months. this means the weekly and monthly values will not be related to the daily bars.
Graham
gkavanagh [at] e-wire.net.au
2006-11-10 18:45:47
Just realised that you used lastvalue for the weekly and monthly, sorry for my error on this
Avi ben a
avi111a [at] yahoo.com
2006-11-11 11:24:39
what to do with the Black baground?
to change the default setting colors:
Tools -->Preferences -->colors
i use Grid & Axes with Blue-Grey
which is good for black and white backgrounds.
Al
al_hobino [at] yahoo.com
2006-11-19 14:08:11
For some reason I received a lot of syntax errors when I loaded this formula in my Amibroker. Not sure why?
suresh
sushbabu2000 [at] yahoo.co.in
2007-03-28 01:16:14
Hi

Excellent work. How to get pivot points for hourly chart. I'm using hourly chart. What modifications should be done. If possible kindly post that also.

Thank you

kher
srin [at] gmail.com
2007-04-13 13:28:33
weekly pivots are not displaying properly. When selected weekly format it will displaying last week pivot points. kindly correct this error and repost as there is a problem for some people who are using this.
ROSHAN
RUSHFORGAMES [at] HOTMAIL.COM
2008-02-17 02:22:06
HOW TO CHANGE THE BACKGROUND IN WHITE COLOUR


About | Privacy | Terms of Use | Contact information
Copyright © 2001 AMIBROKER.COM