MatriksIQ Destek
Matriks Destek
Matriks Web Destek
Matriks Mobile Destek
0 beğenilme 0 beğenilmeme
64 kez görüntülendi
kod içerisinde;

var pozition = GetRealPositions();

var PortfoyAdet = pozition[Symbol].QtyAvailable;

ile portföydeki hisse adedini çekiyorum. Portföyümde o hisseden varsa stratejimin devamı çalışıyor sorun yok ancak portföyde olmayan bir hisse için çalıştırdığımda strateji sonraki satırlara geçmiyor ve orada duruyor. Bu kodun hemen altına debug ekranına herhangi bir şey yazdırarak kontrol ediyorum debug ekrana yazı gelmiyor.. Eğer portföyde o hisseden varsa kod ilerliyor sorun olmuyor.  Log kayıtlarında da "Verilen anahtar sözlükte yoktu" diye bir hata geliyor. Bu hatanın gelmesi belki normal hisse zaten yok ama stratejinin devam etmemesi sorun teşkil ediyor. Nasıl düzeltilebilir?

Teşekkürler.
Algoritmik Trading kategorisinde (111 puan) tarafından | 64 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhaba,

Olmayan bir veriyi çekmeye çalıştığınızda arkaplanda hata olacağı için strateji sonraki işlemleri gerçekleştirmeyecektir.

Öncelikle portföyde işlem yaptığınız sembolün olup olmadığını kontrol ettirip sonrasında lot bilgisini çekmeniz gerekir.

aşağıdaki gibi bir yapı kurabilirsiniz. eğer sembol portföyde varsa lot miktarını dönsün yoksa 0 dönsün.

var pozition = GetRealPositions();

var PortfoyAdet =pozition.ContainsKey(Symbol)? pozition[Symbol].QtyAvailable:0;
			
if(PortfoyAdet!=0){
			
	// yapılacak işlemler
}

 

(6,932 puan) tarafından
4,849 soru
4,857 cevap
3,198 yorum
3,636 kullanıcı