0 beğenilme 0 beğenilmeme
633 kez görüntülendi

merhaba,

mevcut indikatörlerin değerlerine +/- değerler yazarak yeni değer oluşturmaya çalışıyorum ama hata alıyorum.

Ben RSI indikatörü için mevcut hesaplamasına + 3 ekleyerek yeni bir değer oluşturmak istiyorum ama aldığım hata CS0019:  +' işleci RSI ve int  türündeki işlenenlere uygulanamaz oluyor. bu hatayı nasıl aşabilirim? 

Trading ile bunu yapabiliyorum hatta matriks prime tarafında da yapabiliyordum ama IQ tarafında C# diline aşina olmadığım için yapamadım.

Örn :

rsi = RSIIndicator(Symbol, SymbolPeriod, OHLCType.Close, 14); 

rsi1 = rsi+1;   //üst satırdaki rsi hesaplama sonucu 20 geldiyse rsi1 in sonucunun 20+1= 21 olarak alınmasını istiyorum

Indikator Builder kategorisinde (14 puan) tarafından | 633 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhaba,

IQ'da bir indikatör değerine ulaşmak için .Value ya da CurrentValue özelliklerini kullanmalısınız.

örneğinizi aşağıdaki gibi düzenleyebilirsiniz.

RSI rsi;

public override void OnInit()
{
	rsi = RSIIndicator(Symbol, SymbolPeriod, OHLCType.Close, 14);			
}
		
public override void OnDataUpdate(BarDataEventArgs barData)
{
	var rsiDegeriYontem1=rsi.CurrentValue;
	var rsiDegeriYontem2=rsi.Value[0][rsi.CurrentIndex];
	// 2. yöntemde köşeli parantez içerisine rsi.CurrentIndex-1 ile bir öncekine -2 ike 2 önceki değerini de alınabilir.
}

 

(15,892 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.



8,684 soru
8,637 cevap
4,848 yorum
20,005 kullanıcı