1 beğenilme 0 beğenilmeme
424 kez görüntülendi
300 milisaniyede bir tetiklenmek üzere kurulan bir stratejim var ve bu strateji, hisse fiyatı %9’un üzerine çıktığında çalışmaya başlıyor ve alım satım yapıyor diyelim. Ama ben sürekli ekra başında olmadığım için %5-6 yükselen bazı hisseler için stratejiyi çalıştırıyorum ancak birden çok strateji aynı anda çalıştığı için ve çok hızlı tetiklenen kod olduğu için sistemimin donuyor ve matriks iq bazen kapanıyor. Sistemi rahatlamak adına;

OnTimer() altında yer alan ve çok hızlı tekrarlayan stratejimin çalışmaya başlamasını bir if koşuluna bağlayabilir miyim?

Örneğin SetTimerIntrval(30) ile 30 saniyede bir (gerekirse ondataupdate ile 1 dakikada bir de olabilir) sadece (fiyat>açılışfiyatı.1,09) koşulunun sağlanıp sağlanmadığı kontrol edilip, koşulun gerçekleşmesi durumunda SetTimerIntrvalMS ile OnTimer() altında yer alan ana stratejimi çalıştırabilir miyim?

Teşekkür ederim.
Algoritmik Trading kategorisinde (139 puan) tarafından | 424 kez görüntülendi
0 0
merhaba cözüm bulabildinmi sorununa acaba

1 cevap

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

tabi bir değişken ile ontimerdaki işlemlerin tetiklenip tetiklenmemesi gerektiğini tutulabilir.

aşağıdaki örnekte fiyat 11 birimden büyük olduğunda ontimer içindeki işlemler aktif olacak.

 

bool bayrak=false;
		
public override void OnTimer()
{
	if(bayrak){
		// işlemlerin yapılacağı kod kısmı buraya gelecek
	}
}

public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
{
	if(barDataCurrentValues.LastUpdate.Close>11){
		bayrak=true;
	}
}

 

(15,422 puan) tarafından
tarafından seçilmiş
7,509 soru
7,511 cevap
4,405 yorum
8,732 kullanıcı