Teknik Analiz Dünyasına Hoşgeldiniz. Paylaşmak Güzeldir.

Yayından kaldırmak istediğiniz formüller için algoritmabul@gmail.com ile iletişime geçebilirsiniz... 

  • 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

eiπ + 1 = 0
Algorithmist
Algoritma
Katılım
23 Eki 2020
Mesajlar
1,797
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:
 

Forumdan 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
Başlatan Benzer Konular Forum Cevap Tarih
algoritma E 1
algoritma T 0
algoritma T 0
K D 0
algoritma Teknik Analizde Göstergelerin Matematiksel Açıklamaları 0
algoritma Teknik Analizde Göstergelerin Matematiksel Açıklamaları 0
algoritma Teknik Analizde Göstergelerin Matematiksel Açıklamaları 0
algoritma E 2
algoritma E 0
algoritma E 0
algoritma E 0
algoritma E 0
algoritma E 0
algoritma E 0
algoritma E 0
algoritma E 0
algoritma E 0
algoritma E 0
algoritma E 0
algoritma E 0