1 beğenilme 0 beğenilmeme
1,223 kez görüntülendi
indikatör içerisinde hour fonksiyonunu kullanmak istiyorum. barData BarData tipinde girdi bekliyor ancak hangi kütüphaneden çekmem gerektiğini bir türlü bulamadım. ondataupdate içerisinde örnek bir kullanım yapabilir misiniz?
Indikator Builder kategorisinde (82 puan) tarafından | 1,223 kez görüntülendi

1 cevap

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

Merhaba,

Aşağıdaki örneği inceleyebilirsiniz. Ayrıca detaylar için microsoft'un sayfasına göz atabilirsiniz :
https://docs.microsoft.com/tr-tr/dotnet/api/system.datetime.hour?view=netframework-4.7.2

public override void OnDataUpdate(int currentBar, decimal inputValue, DateTime barDateTime)
	{
			DateTime now = DateTime.Now; //simdiki zamanı verir
			if (now.Hour == barDateTime.Hour)//simdiki zaman ile bardatanin zamanina bakar
			{

			}
			if (barDateTime.Hour == 15) // bardatanin saati 15 mi diye bakar
			{

			}
			if (currentBar < Period)
			{
				SetLine(0, currentBar, 0);
				return ;
			}

			var result = GetTypicalPrice(currentBar);
			SetLine(currentBar, result);

	}

 


Seçkin Durgay
(4,631 puan) tarafından
tarafından seçilmiş
0 0
Sevinirim. İlginiz için teşekkür ederim.
0 0
0 0

Burada ince bir nokta var sanırım, emin olmak için sormak istedim.

DateTime now = DateTime.Now; //simdiki zamanı verir
			if (barDateTime.Hour>11)//

burada barDateTime tarafını sınırlarsak backtest tarafında da açılışları işlem zamanına dahil etmemenin sonuçlarını görebiliriz sanki?

Ayrıca işlem yapmadığımız barları yok sayabilir miyiz?(mov'un hesabına katılmasını engellemek gibi) bir deneme yaptım ama olumlu sonuç vermedi.

0 0
yukarıdaki kodla denemedim ama kendi oluşturduğum ve yukarıda paylaştığım, zaman kriteriyle backtestte dahil etmemenin sonuçlarını görebiliyorum.

doğru anladıysam eğer; mov gibi devamlı hesaplanan indikatörlerde datayı belli zaman aralıklarında mov içerisinde hesaplatmayabilirsiniz ancak hesaplatmanıdığınız dilim sonrası yapılacak hesaplama için mov içerisindeki data yerine bir veri koymanız gerekir ki devamlı hesaplama devam edebilsin
0 0
Mov tarafında nasıl seans sonu ile seans başı arasındaki boşluğu başlangıç ve bitiş sayıyorsa o zamanı da o şekle dönüştürebiliriz sanırım. Bir ara deneyeyim. Yazılım bilgim fazla değil, strateji de bunu çalıştırmak için

public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues) yerine

public override void OnDataUpdate(int currentBar, decimal inputValue, DateTime barDateTime) üzerine inşaa etmek gerecek sanırım. Bakalım kodlar patlayacak mı :D
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,506 soru
7,510 cevap
4,405 yorum
8,692 kullanıcı