1 beğenilme 0 beğenilmeme
388 kez görüntülendi
Merhaba  ;

Bir indikatörün hareketli ortalamasının belirlenen periyotta en yüksek ve en düşük değerini yazabileceğim kod satırı nedir?

Örneğin iki farklı periyotta sma değeri hesaplattım. Aynı bara denk gelen iki değerin toplamını buldum. Sonra toplam değere göre de başka bir hareketli ortalama tanımladım.  O hareketli ortalamanın belli bar aralığında en yüksek ve en düşük değerini çekmek istiyorum.

Yardımcı olabilir misiniz?
Algoritmik Trading kategorisinde (72 puan) tarafından | 388 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme
En İyi Cevap

Merhaba,

Son X bar içerisindeki en yüksek ve en düşük değerlerini HighestHigh() ve LowestLow() fonksiyonları ile alabilirsiniz muhtemelen bunu biliyorsunuzdur.

var son10BarinEnYuksekMovDegeri=HighestHigh(mov,10);
var son10BariEnDusukMovDegeri=LowestLow(mov,10);

Belirlenen bar aralığındaki bir indikatörün en düşük ve en yükseğini almak için aşağıdaki gibi bir yapı kurulabilir.

Aşağıdaki örneğe göre 10 bar öncesi ile 5 bar öncesi arasındaki en yüksek ve en düşüğü verecektir.

yani önceki 10, 9, 8, 7, 6, ve 5 barı arasındaki en yüksek ve düşüğü verecektir.

List<decimal> movDegerleri=new List<decimal>();

public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
{
    movDegerleri.Add(mov.CurrentValue);
			
	if(movDegerleri.Count>10){
		var belirliAraliktakiEnYuksekMovDegeri=movDegerleri.Skip(movDegerleri.Count-10).Take(5).Max();
		var belirliAraliktakiEnDusukMovDegeri=movDegerleri.Skip(movDegerleri.Count-10).Take(5).Min();
	}			
}

 

(15,852 puan) tarafından
tarafından seçilmiş
7,961 soru
7,941 cevap
4,531 yorum
13,091 kullanıcı