1 beğenilme 0 beğenilmeme
443 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 (141 puan) tarafından | 443 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,682 puan) tarafından
tarafından seçilmiş
7,637 soru
7,643 cevap
4,448 yorum
10,869 kullanıcı