Merhaba,
Emirlerde bir değişim olduğunda ( iletilme, gerçekleşme, red, iptal .... ) OnOrderUpdate() metodu tetiklenir.
Bu metotta emir takibi yapıp istenen durum gerçekleştiğinde istenen aksiyon alınabilir.
Aşağıdaki gibi basit bir yapı kurulabilir .
public override void OnDataUpdate(BarDataEventArgs barData)
{
if(orderID_1_al!=string.Empty){
orderID_1_al=SendMarketOrder(Symbol1,1,OrderSide.Buy);
Debug("Alış emri gönderildi -> ID: "+orderID_1_al);
}
}
string orderID_1_al=string.Empty;
public override void OnOrderUpdate(IOrder order)
{
if (order.OrdStatus.Obj == OrdStatus.Filled && order.CliOrdID == orderID_1_al)
{
orderID_1_al = string.Empty;
Debug("alış emri gerçekleşti -> ID: " + orderID_1_al);
}
}
Bunun dışında Orders modelini de inceleyebilirsiniz.
Bu model içerisinde ilgili stratejide gönderilen tüm emirler son durumlarıyla tutulur ID'si bilinen bir emrin takibi bu model üzerinden de yapılabilir. Linkteki konuyu inceleyebilirsiniz.
https://destek.matriksdata.com/?qa=16745/order-id-ile-statu-kontrolu&show=16745#q16745
Detaylı bilgi için aşağıdaki dokumanın 24. sayfasını inceleyiniz.
https://www.matriksdata.com/website/uploads/matriks-iq-algo-teknik-dokuman.pdf
Not: Binance dışındaki kurumlarda portföy verileri 1DK bir güncellendiğinden gerçekleşen emirler anca sonraki güncellemede yakalanır. örnek vermek gerekirse portföy güncellendikten 10 saniye sonra bir limit emir verdiniz ve emir 5 saniye sonra gerçekleşmiş olsun bunun bilgisi bir sonraki güncellemede yani 45 saniye sonra yakalanacaktır.
Unblocked Games offering a wide range of experiences: action, puzzle, platform, racing, clicker mechanics, strategy, sports, even horror.
https://unblocked1games.github.io