Rank: Advanced Member
Groups: Registered, Registered Users Joined: 1/19/2005(UTC) Posts: 1,065 Location: Koh Pha-Ngan, Earth
Was thanked: 2 time(s) in 2 post(s)
|
And here is a centered Mov Avg version with future projection channels:
[code:1:fddd0e3b53]
=============
MA - centered
=============
---8<--------------------------
{ Centered Moving Average v4.0 }
{ Uses forward-referencing to
center Mov Avg and project future direction.}
{ Uses hindsight - do not trade! }
{ ©Copyright 2005 Jose Silva
For personal use only.
http://www.metastocktools.com }
{ User inputs }
fwPds:=Input("Forward-referencing periods (automatic = -1)",-1,2600,-1);
proj:=Input("Project last known MA: [1]Direction, [2]Value",1,2,1);
pds:=Input("Mov Avg periods",1,2600,21);
channel:=Input("Channel +/- boundary %",
0,1000,5)/100;
type:=Input("[1]EMA [2]SMA [3]TmSr [4]Tri [5]Var [6]Vol [7]Wght",1,7,2);
{ Choose MovAvg type:
1 - Exponential MA
2 - Simple MA
3 - Time Series MA
4 - Triangular MA
5 - Variable MA
6 - Volume adjusted MA
7 - Weighted MA }
ma:=
If(type=1,Mov(C,pds,E),
If(type=2,Mov(C,pds,S),
If(type=3,Mov(C,pds,T),
If(type=4,Mov(C,pds,TRI),
If(type=5,Mov(C,pds,VAR),
If(type=6,Mov(C,pds,VOL),
Mov(C,pds,W)))))));
{ Automatic period-centering }
center:=LastValue(If(fwPds<0,Int(pds/2),fwPds));
{ Forward-referenced MovAvg }
fwd:=Ref(ma,center);
{ Last valid MovAvg plot point }
valid:=Cum(IsDefined(fwd))
=LastValue(Cum(IsDefined(fwd)));
valid:=valid AND Alert(valid=0,2);
{ Extend last MovAvg plot to future null zone }
xtend:=LastValue(fwd+PREV-PREV);
{ Restrict invalid initial MovAvg plot }
movAvg:=Ref(Ref(xtend,pds-1),-pds+1);
{ Last MA known direction & future projection }
init:=Cum(IsDefined(movAvg))=1;
direction:=movAvg+
If(IsUndefined(fwd),
ValueWhen(1,init OR valid,movAvg)-
ValueWhen(1,init OR valid,Ref(movAvg,-1)),0)
*BarsSince(init OR valid);
{ Choose Centered MovAvg type }
CMA:=If(proj=1,direction,movAvg);
{ Plot MovAvg on price chart }
If(BarsSince(valid),CMA,CMA)*(1+channel);
If(BarsSince(valid),CMA,CMA)*(1-channel);
CMA
---8<--------------------------
[/code:1:fddd0e3b53]
Jose '-)
http://www.metastocktools.com
.
|