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 - Pivotal 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 - Pivotal


{ Pivotal Exponential Moving Average v1.1 }


{ PEMA based on trough/peak support/resistance.
Options:
[1] Composite EMA: (Upper+Lower)/2;
[2] Upper EMA band based on peaks;
Lower EMA band based on troughs;
[3] EMA shifts to Upper/Lower on crossovers }


{ ŠCopyright 2004~2005 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://www.metastocktools.com }


{ User inputs }
pds:=Input("EMA periods",1,2520,21)/2;
plot:=Input("EMA: [1]Composite, [2]Upper+Lower, [3]Long/Short",1,3,1);
spread:=Input("Upper/Lower EMA bands shift %",
0,100,2)/200;
x:=Input("use: [1]Close, [2]High/Low",1,2,1);


{ Peaks }
xpk:=If(x=1,C,H);
pk:=Ref(xpk,-1)=HHV(xpk,3);
pkVal:=ValueWhen(1,pk,Ref(xpk,-1));


{ Peak-based EMA }
pkpds:=If(pds>Cum(pk),Cum(pk),pds);
pkpds:=If(pkpds<1,1,pkpds);
pkEma:=pkVal*2/(pkpds+1)+PREV*(1-2/(pkpds+1));
pkEma:=pkEma*(1+spread);


{ Troughs }
xtr:=If(x=1,C,L);
tr:=Ref(xtr,-1)=LLV(xtr,3);
trVal:=ValueWhen(1,tr,Ref(xtr,-1));


{ Trough-based EMA }
trpds:=If(pds>Cum(tr),Cum(tr),pds);
trpds:=If(trpds<1,1,trpds);
trEma:=trVal*2/(trpds+1)+PREV*(1-2/(trpds+1));
trEma:=trEma*(1-spread);


{ Composite EMA }
Ema:=(pkEma+trEma)/2;
LngShtEma:=If(C>=Ema,trEma,pkEma);


{ Plot on price chart }
If(plot=1,Ema,If(plot=2,trEma,LngShtEma));
If(plot=1,Ema,If(plot=2,pkEma,LngShtEma))



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