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 - Trade-Adjusted 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,337
Puanları
48
Self-adjusting Exponential Moving Average, adjusts periodicity to trade frequency - with multiple output choice.​

Exponential Moving Average - Trade-Adjusted

{ 6-loop trade-adjusted EMA }
{ Adjusts EMA periodicity to trade frequency }

{ (c) Copyright 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 }
avg:=Input("Crossover trades per year",2,1000,12);
plot:=Input("[1]EMA, [2]Signals, [3]EMA periods",1,3,1);

{ Base EMA periods }
pds:=21;

{ Year count }
yCount:=
LastValue(Year()-ValueWhen(1,Cum(1)=1,Year()));

{ Loop 1 }
signal:=Cross(C,Mov(C,pds,E));
pds:=Int(Cum(signal)/yCount/avg*pds+.5);
pds:=LastValue(If(pds<2,2,pds));

{ Loop 2 }
signal:=Cross(C,Mov(C,pds,E));
pds:=Int(Cum(signal)/yCount/avg*pds+.5);
pds:=LastValue(If(pds<2,2,pds));

{ Loop 3 }
signal:=Cross(C,Mov(C,pds,E));
pds:=Int(Cum(signal)/yCount/avg*pds+.5);
pds:=LastValue(If(pds<2,2,pds));

{ Loop 4 }
signal:=Cross(C,Mov(C,pds,E));
pds:=Int(Cum(signal)/yCount/avg*pds+.5);
pds:=LastValue(If(pds<2,2,pds));

{ Loop 5 }
signal:=Cross(C,Mov(C,pds,E));
pds:=Int(Cum(signal)/yCount/avg*pds+.5);
pds:=LastValue(If(pds<2,2,pds));

{ Loop 6 }
signal:=Cross(C,Mov(C,pds,E));
pds:=Int(Cum(signal)/yCount/avg*pds+.5);
pds:=LastValue(If(pds<2,2,pds));

{ Final output }
EMA:=Mov(C,pds,E);
long:=Cross(C,EMA);
short:=Cross(EMA,C);

{ Plot EMA on price chart }
If(plot=1,EMA,If(plot=2,long-short,pds))​


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