0 beğenilme 0 beğenilmeme
344 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 | 344 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];
		}
	}
}

 

(15,892 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.



8,635 soru
8,589 cevap
4,821 yorum
19,781 kullanıcı