0 beğenilme 0 beğenilmeme
620 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 | 620 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ış
			}
		}

 

(14,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.



7,321 soru
7,308 cevap
4,305 yorum
6,903 kullanıcı