0 beğenilme 0 beğenilmeme
693 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 | 693 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,602 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,627 soru
7,631 cevap
4,446 yorum
10,797 kullanıcı