{ Downloaded From https://www.WiseStockTrader.com }
{ Plots daily pivot values on intraday charts.

Apply only to weekday data:
MetaStock -> Tools -> Options -> Chart Options
-> untick "Ignore weekend data".
With thanks to Kevin Barry for pivot logic.

Copyright © 2004~2007 Jose Silva.
The grant of this license is for personal use
only - no resale or repackaging allowed.
All code remains the property of Jose Silva.
http://metastocktools.com }

{ User input }
pds:=Input("Use Highest/Lowest of past x days",1,260,1);

{ Message }
message:=Input("(Plot on intraday charts)",0,0,0);

{ Day's start }
dStart:=DayOfMonth()<>Ref(DayOfMonth(),-1) OR Cum(1)=2;

{ Previous x Days' High }
Hd:=HighestSince(pds,dStart,H);
Hd:=ValueWhen(1,dStart,ValueWhen(2,1,Hd));
Hd:=ValueWhen(1,Hd<>0,Hd);

{ Previous x Days' Low }
Ld:=LowestSince(pds,dStart,L);
Ld:=ValueWhen(1,dStart,ValueWhen(2,1,Ld));
Ld:=ValueWhen(1,Ld<>0,Ld);

{ Previous Day's Close }
Cd:=ValueWhen(1,dStart,ValueWhen(2,1,C));
Cd:=ValueWhen(1,Cd<>0,Cd);

{ Pivot }
Pivot:=(Hd+Ld+Cd)/3; {Plot in Green bold}

{ Support }
S1:=2*Pivot-Hd; {Blue}
S2:=Pivot-(Hd-Ld); {Red}
S3:=2*Pivot-(2*Hd-Ld); {dark Green}

{ Resistance }
R1:=2*Pivot-Ld; {Blue}
R2:=Pivot+(Hd-Ld); {Red}
R3:=2*Pivot+(Hd-2*Ld); {dark Green}

{All mid-pivot levels light Grey}
M0:=(S2+S3)/2;
M1:=(S1+S2)/2;
M2:=(Pivot+S1)/2;
M3:=(R1+Pivot)/2;
M4:=(R2+R1)/2;
M5:=(R3+R2)/2;

{ Plot on intraday price charts }
R3;M5;R2;M4;R1;M3;
Pivot;
M2;S1;M1;S2;M0;S3