MetaStock™ Zone Forum & FAQ Artykuły Linki Elliott Waves EasyLanguage™ Zone

A B C D E F G H I J K L M N O P R S T U V W Y Z #

Moving Average - Centered v4.0 by Jose Silva

Here is a centered Mov Avg version with future projection channels:


Moving Average - Centered

{ Centered Moving Average v4.0 }
{ Uses forward-referencing to center Mov Avg and project future direction.}
{Uses hindsight - do not trade! }

{ CCopyright 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

 

Source / From: TOP
EquisMetaStock[at]yahoogroups[dot]com

Equis and MetaStock® and MetaStock Professional® are registered trademarks of Equis International. Achelis Binary Wave®, The DownLoader®,
Expert Advisor®, OptionScope®, Quotecenter® and Smart Charts® are trademarks of Equis International, a Thomson Reuters company.

TradeStation® Pro, TradeStation® 2000i, OptionStation®, SuperCharts®, PowerEditor® and EasyLanguage®
are registered trademarks of TradeStation Technologies, Inc. Other names and marks referred to are the property of their respective owners.

All information provided on this website is for educational purposes only. Trading involves risk, including possible loss of principal and other losses.

Ten i inne materiały na tej stronie zostały zamieszczone zostały jedynie w celach edukacyjnych, nie ponoszę żadnej odpowiedzialno¶ci za ich stosowanie.

Gra na giełdzie i rynkach walutowych (FOREX) niesie ze sob± ryzyko poważnych strat finansowych!