Teknik Analiz Dünyasına Hoşgeldiniz

Paylaşmak Güzeldir.

  • DİKKAT: Formüller, Sistemler sadece eğitim amaçlıdır. Alım satım, olası anapara kaybı ve diğer kayıplar dahil olmak üzere "YÜKSEK RİSK içerir.
  • Mucize teknik gösterge yoktur, sadece doğru veya yanlış kullanılan göstergeler vardır.

Hareketli Ortalama Exponential Moving Average - Volume Adaptable by Jose Silva

Hareketli Ortalamalar Göstergeler arasında en çok kullanılan indikatördür. Trend takip eden özelliği bulunmakla birlikte son geçmişte kalan belli bir zaman diliminin ortalaması alınarak, şuan ki fiyatın trende ne derece uzak olduğunu gösterir.

algoritma

e iπ +1=0
Katılım
23 Eki 2020
Mesajlar
1,353
Puanları
63
Exponential Moving Average - samples above/below-avg volume bars - two EMA versions, with multiple output choice.​

Exponential Moving Average - Volume Adaptable

{ Volume adaptable EMA v1.0 }
{ EMA samples bars with above-avg Volume }
{ (c) Copyright 2004 Jose Silva }
{ For personal use only }
{ http://www.metastocktools.com }

{ User inputs }
pds:=Input("EMA periods",2,2520,21);
x:=Input("use Open=1 High=2 Low=3 Close=4 WClose=5 P=6",1,6,4);
shift:=Input("EMA vertical shift %",
-100,100,0)/100+1;
plot:=Input("[1]EMA, [2]Data, [3]Sampling bars, [4]Crossovers",1,4,1);

{ Select price field }
x:=If(x=1,O,If(x=2,H,If(x=3,L,If(x=5,WC(),If(x=6,P,C)))));

{ Above average Volume points }
VolAvgPlus:=V>Mov(V,pds,E);

{ Select above-avg bars for EMA }
x:=ValueWhen(1,VolAvgPlus,x);

{ Reduce periodicity on low bar count }
pds:=If(pds>Cum(IsDefined(x)),
Cum(IsDefined(x)),pds);

{ EMA }
Ema:=x*2/(pds+1)+PREV*(1-2/(pds+1));
Ema:=Ema*shift;

{ EMA/price crossover signals }
signals:=Cross(x,Ema)-Cross(Ema,x);

{ Plot on price chart }
If(plot=1,Ema,If(plot=2,x,
If(plot=3,VolAvgPlus,signals)))​

Exponential Moving Average - Volume Adaptable Mk III


{ Volume adaptable EMA v3.0 }
{ EMA samples bars with above/below-avg Volume }
{ (c) Copyright 2004 Jose Silva }
{ For personal use only }
{ http://www.metastocktools.com#metastock }


{ User inputs }
pds:=Input("EMA periods",2,2520,21);
x:=Input("use Open=1 High=2 Low=3 Close=4 WClose=5 P=6",1,6,4);
shift:=Input("EMA vertical shift %",
-100,100,0)/100+1;
plot:=Input("[1]HiEMA, [2]LoEMA, [3]Both,[4]Diff, [5]Signals",1,5,3);


{ Select price field }
x:=If(x=1,O,If(x=2,H,If(x=3,L,If(x=5,WC(),If(x=6,P,C)))));


{ Above/Below average Volume points }
HiVol:=V>Mov(V,pds,E);
LoVol:=V<Mov(V,pds,E);


{ Select above/below-avg bars for EMA }
xHiVol:=ValueWhen(1,HiVol,x);
xLoVol:=ValueWhen(1,LoVol,x);


{ EMAs }
EmaHiVol:=Mov(xHiVol,pds,E)*shift;
EmaLoVol:=Mov(xLoVol,pds,E)*shift;


{ Hi/Lo EMA difference }
diff:=EmaHiVol-EmaLoVol;


{ Hi/LoEMA difference / zero crossover signals }
signals:=Cross(diff,0)-Cross(0,diff);


{ Plot EMAs on price chart }
If(plot=1,EmaHiVol,If(plot=2,EmaLoVol,
If(plot=3,EmaLoVol,If(plot=4,0,0))));
If(plot=1,EmaHiVol,If(plot=2,EmaLoVol,
If(plot=3,EmaHiVol,If(plot=4,diff,signals))))


Source / From:
 

Forumda daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap