0 beğenilme 0 beğenilmeme
843 kez görüntülendi
Merhaba,

Düne ait Macd değerlerini CrossAbove fonksiyonunda kullanmak istiyorum fakat bu fonksiyon en az bir değişkenin indikatör olmasını zorunlu kıldığı için çalışmıyor. Aşağıdaki tanımlamalarla düne ait değerleri alıyorum

decimal macd_D = Ref(macd, -1);

decimal macd_DT = Ref(macd.MacdTrigger, -1);

Fakat aşağıdaki crossabove fonksiyonunu derleyemiyorum. Yapmak istediğim düne ait macd değerlerinin birbirini kesip kesmediğini öğrenmek. Yardımcı olabilir misiniz ?

if (CrossAbove(macd_D.Macd, macd_DT)) //Macd Sıfırdan küçük ve aşağıdan kesisim var

{

puan_D = puan_D + 30;

}
Algoritmik Trading kategorisinde (14 puan) tarafından | 843 kez görüntülendi

1 cevap

1 beğenilme 0 beğenilmeme

Merhaba,

Aşağıdaki örneği inceleyebilirsiniz.

 

Dictionary<int, bool> _croseAbove = new Dictionary<int, bool>();
		Dictionary<int, bool> _croseBelow = new Dictionary<int, bool>();

		public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
		{				
			var Index = barDataCurrentValues.LastUpdate.BarDataIndex;
			
			if(CrossAbove(macd.Macd,macd.MacdTrigger)){
				_croseAbove[Index] = true;
			}else{
				_croseAbove[Index] = false;
			}
			
			if(CrossBelow(macd.Macd,macd.MacdTrigger)){
				_croseBelow[Index] = true;
			}else{
				_croseBelow[Index] = false;
			}
			
			if(_croseAbove[Index -1]){
				// Alış
			}
			
			if(_croseBelow[Index -1]){
				// Satış
			}
		}

 

(15,872 puan) tarafından
0 0

Merhaba;

Bunu Explorer'a nasıl uyarlayabilirim?

Düzeltme;

bardatas.FirstOrDefault().BarDataIndex;

fonksiyonu ile çözdüm, gözümün önünde duran bir parametreyi görememişim...

Hoş geldiniz, Matriks Destek Platformu sizlere sorularınızın hızlıca cevaplanması için bir ortam sağlar. Sorduğunuz ve cevapladığınız soruların ve yorumlarınızın aldığı oylar üzerinden puan kazanırsınız. Puan sistemine bağlı kampanyamızla ücretsiz kullanım avantajlarından faydalanabilirsiniz.



8,340 soru
8,296 cevap
4,679 yorum
16,839 kullanıcı