0 beğenilme 0 beğenilmeme
575 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 (141 puan) tarafından | 575 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
}

 

(16,179 puan) tarafından
9,148 soru
9,103 cevap
5,027 yorum
28,039 kullanıcı