0 beğenilme 0 beğenilmeme
1,491 kez görüntülendi

Selamlar herkese

indikatör veya strateji yazarken bir farklı bir indikatör'ün EMA'sını nasıl hesaplayabilirim?

Örn: RSI'ın 22 günlük EMA'sını hesaplamak için EMA fonksiyonunda parametreler nasıl olmalıdır?

Ufak bir edit: RSI için bir örnek var fakat TKE indikatörü için bir örnek verebilirseniz çok mutlu olurum. Kriptex paylaşmıştı: 

Matriks IQ TKE (TALEP KONSANTRASYON EĞRİSİ) Indikatörü - Matriks Destek ve Yardım Platformu (matriksdata.com)

Desteğiniz için çok teşekkürler...

İndikator kategorisinde (201 puan) tarafından
tarafından düzenlendi | 1,491 kez görüntülendi
0 0
just a kindly reminder... :)))

1 cevap

2 beğenilme 0 beğenilmeme
En İyi Cevap

Merhaba,

Ema indikatörünü TKEKripex indikatörü ile update ederek kullanabilirsiniz.

MatriksIndicator TKEKripex;

		EMA ema;
		
		public override void OnInit()
		{
			TKEKripex = new TKEKripex();
			TKEKripex.SetIndicatorParameters("StochasticFastKPeriod",14);
			TKEKripex.SetIndicatorParameters("StochasticFastDPeriod",6);
			TKEKripex.SetIndicatorParameters("RsiPeriod",14);
			TKEKripex.SetIndicatorParameters("CciPeriod",14);
			TKEKripex.SetIndicatorParameters("MfiPeriod",14);
			TKEKripex.SetIndicatorParameters("WillRPeriod",14);
			TKEKripex.SetIndicatorParameters("MomPeriod",14);
			TKEKripex.SetIndicatorParameters("UltKisaPeriod",7);
			TKEKripex.SetIndicatorParameters("UltMediumPeriod",14);
			TKEKripex.SetIndicatorParameters("UltUzunPeriod",28);
			
			ema = new EMA(22);
			

			RegisterUserIndicator(TKEKripex,Symbol, SymbolPeriod, OHLCType.Close,5);

			AddSymbol(Symbol, SymbolPeriod);

			//Eger backtestte emri bir al bir sat seklinde gonderilmesi isteniyor bu true set edilir. 
			//Alttaki satırı silerek veya false geçerek emirlerin sirayla gönderilmesini engelleyebilirsiniz. 
			SendOrderSequential(true,true);
			WorkWithPermanentSignal(true);
		}

		public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
		{
			var index=barDataCurrentValues.LastUpdate.BarDataIndex;
			var dtime=barDataCurrentValues.LastUpdate.DTime;
			
			ema.Update(TKEKripex.CurrentValue,index,dtime);
			
			Debug(ema.CurrentValue);

		}

 

(15,892 puan) tarafından
tarafından seçilmiş
0 0
Explorer içerisinde EMA'sıyla tarama yapmaya çalışmaktayım. Bu konuda yardımınıza gerçekten çok ihtiyacım var :(
0 0

Elinize sağlık çok teşekkür ederim..Strateji çalıştırırken debug'da değerleri aldım.

Bu kodu explorer'a nasıl adapte ebeilirim. Aşağıdaki kısmı adapte edemedim. Çünkü onDataUpdate parametlereleri explorer'da farklı? 

public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
		{
			var index=barDataCurrentValues.LastUpdate.BarDataIndex;
			var dtime=barDataCurrentValues.LastUpdate.DTime;
			
			ema.Update(TKEKripex.CurrentValue,index,dtime);
			
			Debug(ema.CurrentValue);

		}

8,636 soru
8,590 cevap
4,821 yorum
19,789 kullanıcı