0 beğenilme 0 beğenilmeme
518 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 | 518 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
}

 

(15,892 puan) tarafından
8,636 soru
8,590 cevap
4,821 yorum
19,790 kullanıcı