0 beğenilme 0 beğenilmeme
28 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 | 28 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,532 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.



7,576 soru
7,580 cevap
4,428 yorum
10,163 kullanıcı