0 beğenilme 0 beğenilmeme
662 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 | 662 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,412 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.



7,506 soru
7,510 cevap
4,405 yorum
8,694 kullanıcı