0 beğenilme 0 beğenilmeme
497 kez görüntülendi

public override void OnOrderUpdate(IOrder order) fonksiyonu altında gerçekleşen emirlerimin detaylarını çekiyorum. Ancak algonun gönderdiği emiri bir türlü çekmeyi bulamadım. order.LastPx ile gerçekleşen fiyatı çekiyorum ama dediğim gibi örneğin algo yukarıdan bir fiyat gönderdiyse ben bunu OnOrderUpdate fonskiyonu altında nasıl çekebilirim?

 

 

Algoritmik Trading kategorisinde (141 puan) tarafından | 497 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhaba,

OnOrderUpdate() metodunda sadece gerçekleşen fiyatı çekebilirsiniz gönderilene fiyatı çekemezsiniz.

emir ID ve gönderilme fiyatından oluşan bir Dictionary oluşturup takip edebilirsiniz.

Dictionary<string,decimal> gonderilmeFiyatlari=new Dictionary<string,decimal>();
		
public override void OnInitCompleted()
{			
	var gonderilmeFiyati=12.32m;
	var emirID=SendLimitOrder(Symbol, 1, OrderSide.Buy,gonderilmeFiyati);
			
	gonderilmeFiyatlari[emirID]=gonderilmeFiyati;
}
		
public override void OnOrderUpdate(IOrder order){
	if(order.OrdStatus.Obj==OrdStatus.Filled){
		if(gonderilmeFiyatlari.ContainsKey(order.CliOrdID)){
			var gonderilmeFiyati=gonderilmeFiyatlari[order.CliOrdID];
		}
	}
}

 

(16,179 puan) tarafından
Hoş geldiniz, Matriks Destek Platformu sizlere sorularınızın hızlıca cevaplanması için bir ortam sağlar. Sorduğunuz ve cevapladığınız soruların ve yorumlarınızın aldığı oylar üzerinden puan kazanırsınız. Puan sistemine bağlı kampanyamızla ücretsiz kullanım avantajlarından faydalanabilirsiniz.



9,148 soru
9,103 cevap
5,027 yorum
28,107 kullanıcı