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

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

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