Strateji İçerisinde Sentetik Emir Takibi #

Strateji içerisinde sentetik emirlerin aktifliğini, tetiklenme fiyatlarını ve hangi sembol üzerine kurulu olduğu gibi bilgilere erişilebilmesi için bazı fonksiyonlar bulunmaktadır.

Sentetik Emrin Durumunun Takibi #

Sembole ait kurulu sentetik emir olup olmadığının kontrolü için IsSyntheticAlgoOrderExists fonksiyonu kullanılabilir.

İlgili türde sembole kurulu sentetik emir varsa true yoksa false döner.

public bool IsSyntheticAlgoOrderExists(string Symbol, SyntheticAlgoOrderType SyntheticAlgoOrderType)

Parametreler #

Symbol            string

Aktif sentetik emir olup olmadığının kontrolü yapılacak sembol tanımı

SyntheticAlgoOrderType            SyntheticAlgoOrderType

Aktif sentetik emir olup olmadığının kontrolü yapılacak sentetik emir tipinin seçildiği parametredir. “SyntheticAlgoOrderType.StopLoss” şeklinde değer geçilir. Bknz. SyntheticAlgoOrderType

Sentetik Emirlerin Detay Verileri #

Sembole kurulu istenilen sentetik emir tipinin detaylı verilerini almak için GetSyntheticAlgoOrder fonksiyonu veya SyntheticOrderSummaries listesi kullanılabilir.

GetSyntheticAlgoOrder #

SyntheticAlgoOrderSummary GetSyntheticAlgoOrder(string Symbol, SyntheticAlgoOrderType SyntheticAlgoOrderType)

Parametreler #

Symbol            string

Sentetik emrin kurulu olduğu sembol tanımı

SyntheticAlgoOrderType            SyntheticAlgoOrderType

Verilerine erişilmek istenen sentetik emir tipinin belirlendiği parametredir. “SyntheticAlgoOrderType.StopLoss” şeklinde değer geçilir. Bknz. SyntheticAlgoOrderType

Dönütler #

SyntheticAlgoOrderSummary

İçerisinde sentetik emre ait veriler bulunduran modeldir.

SyntheticOrderSummaries #

Dictionary<string, Dictionary<SyntheticAlgoOrderType, SyntheticAlgoOrderSummary> SyntheticOrderSummaries

Parametreler #

Symbol            string

Sentetik emrin kurulu olduğu sembol tanımı

SyntheticAlgoOrderType            SyntheticAlgoOrderType

Verilerine erişilmek istenen sentetik emir tipinin belirlendiği parametredir. SyntheticAlgoOrderType.StopLoss” şeklinde değer geçilir. Bknz. SyntheticAlgoOrderType

Dönütler #

SyntheticAlgoOrderSummary

İçerisinde sentetik emre ait veriler bulunduran modeldir. Bknz. SyntheticAlgoOrderSummary

Örnek #

public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
{
    if (SyntheticOrderSummaries.ContainsKey(Symbol))
    {
        foreach (var syntheticOrders in SyntheticOrderSummaries[Symbol])
        {
            Debug("Sentetik Emir Tipi : " + syntheticOrders.Value.SyntheticAlgoOrderType);
        }
        if (IsSyntheticAlgoOrderExists(Symbol, SyntheticAlgoOrderType.StopLoss))
        {
            Debug("StopLoss : " + GetSyntheticAlgoOrder(Symbol, SyntheticAlgoOrderType.StopLoss).StopLevel);
        }
        if (IsSyntheticAlgoOrderExists(Symbol, SyntheticAlgoOrderType.TakeProfit))
        {
            Debug("TakeProfit : " + GetSyntheticAlgoOrder(Symbol, SyntheticAlgoOrderType.TakeProfit).StopLevel);
        }
        if (IsSyntheticAlgoOrderExists(Symbol, SyntheticAlgoOrderType.TrailingStopLoss))
        {
            Debug("TrailingStopLoss : " + GetSyntheticAlgoOrder(Symbol, SyntheticAlgoOrderType.TrailingStopLoss).StopLevel);
        }
    }
}

Sentetik Emir Tetiklendiğinde Çağırılan Metot #

Kurulu bir sentetik emrin koşulunun gerçekleşmesiyle birlikte OnSyntheticOrderTriggered metodu tetiklenir. Parametre olarak iletilen SyntheticAlgoOrder içerisinde de tetiklenen sentetik emre ait veriler bulunur.

public override void OnSyntheticOrderTriggered(SyntheticAlgoOrder triggeredSyntheticAlgoOrder)

Parametreler #

SyntheticAlgoOrder            SyntheticAlgoOrder

Sentetik emir verilerini içerisinde barındıran modeldir. Bknz. SyntheticAlgoOrder

Örnek #

public override void OnSyntheticOrderTriggered(SyntheticAlgoOrder triggeredSyntheticAlgoOrder)
{
    Debug("Symbol : " + triggeredSyntheticAlgoOrder.Symbol);
    Debug("IsTriggered : " + triggeredSyntheticAlgoOrder.IsTriggered);
    Debug("EnableOrderSending : " + triggeredSyntheticAlgoOrder.EnableOrderSending);
    Debug("SyntheticOrderPriceType : " + triggeredSyntheticAlgoOrder.SyntheticOrderPriceType);
    Debug("SyntheticAlgoOrderType : " + triggeredSyntheticAlgoOrder.SyntheticAlgoOrderType);
    Debug("StopLevel : " + triggeredSyntheticAlgoOrder.StopLevel);
    Debug("LongExitPrice : " + triggeredSyntheticAlgoOrder.LongExitPrice);
    Debug("ShortExitPrice : " + triggeredSyntheticAlgoOrder.ShortExitPrice);
}