MatriksIQ Destek
Matriks Destek
Matriks Web Destek
Matriks Mobile Destek
0 beğenilme 0 beğenilmeme
102 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 | 102 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ış
			}
		}

 

(6,101 puan) tarafından
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.



2,303 soru
2,180 cevap
1,900 yorum
1,593 kullanıcı