1 beğenilme 0 beğenilmeme
522 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 | 522 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,892 puan) tarafından
tarafından seçilmiş
8,635 soru
8,589 cevap
4,821 yorum
19,779 kullanıcı