0 beğenilme 0 beğenilmeme
305 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 | 305 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,882 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,564 soru
8,517 cevap
4,786 yorum
19,370 kullanıcı