0 beğenilme 0 beğenilmeme
380 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 | 380 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,532 puan) tarafından
7,586 soru
7,592 cevap
4,435 yorum
10,411 kullanıcı