Emir İptal #
Strateji içerisinde gönderilmiş ve henüz gerçekleşmemiş iptale uygun emirleri yine aynı strateji içerisinden iptal edebilirsiniz.
public void SendCancelOrder(string clOrdId)
Ek Notlar #
Fonksiyon parametresinden görülebileceği üzere düzeltilmek istenen emrin clOrdId‘sinin bilinmesi gerekli. Bu veri her emir gönderiminde emir fonksiyonundan oluşur. Her emir için ayrı bir değer oluşacağı için düzeltilmek istenen emrin verisi bir yerde saklanması gerekebilir.
Parametreler #
clOrdId string
İptal edilmek istenen emrin clOrdId değeri. Emir fonksiyonundan veya OnOrderUpdate içerisinde emir verileri okunarak alınabilir.
Örnek #
string _cliOrdId = ""; public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues) { if (CrossAbove(mov, mov2)) { _cliOrdId = SendLimitOrder(Symbol, BuyOrderQuantity, OrderSide.Buy, 75.5m); Debug("Alış Emri Gönderildi"); } if (CrossBelow(mov, mov2)) { _cliOrdId = SendLimitOrder(Symbol, SellOrderQuantity, OrderSide.Sell, 85.5m); Debug("Satış Emri Gönderildi"); } if (barDataCurrentValues.LastUpdate.Close > 80 && LastOrderSide.Obj == Side.Buy) { SendCancelOrder(_cliOrdId); Debug("Alış emri iptal edildi"); } if (barDataCurrentValues.LastUpdate.Close < 75 && LastOrderSide.Obj == Side.Sell) { SendCancelOrder(_cliOrdId); Debug("Satış emri iptal edildi"); } }