Aracı Kurum Hesabındaki Verilerin Kullanımı #

Strateji içerisinde stratejinin bağlı olduğu aracı kurum hesabının bazı bilgilerine ve pozisyonlarına erişilebilir.

Hesap Bilgilerine Erişim #

Aracı kurum hesabında bulunan bakiye, işlem limiti gibi veriler piyasa bazlı olarak GetTradeUser fonksiyonu kullanılarak alınabilir.

Örnek #

public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
{
    var _tradeUser = GetTradeUser();
    Debug("Hesap Numarası : " + _tradeUser.AccountId);
    
    Debug("Piyasa (Bist) : " + _tradeUser.Accounts[0].ExchangeID);
    Debug("Overall (Bist) : " + _tradeUser.Accounts[0].Overall);
    Debug("İşlem Limiti (Bist) : " + _tradeUser.Accounts[0].AvailableMargin);
    
    Debug("Overall (Viop) : " + _tradeUser.Accounts[1].Overall);
    Debug("İşlem Limiti (Viop) : " + _tradeUser.Accounts[1].AvailableMargin);
}

Pozisyon Bilgilerine Erişim #

Aracı kurum portföyünde bulunan pozisyonlara ait verilere strateji içerisinden erişilebilir.

GetRealPositions #

Portföydeki pozisyonların tamamının tutulduğu listedir. İstenilen sembol üzerinden pozisyona ulaşılabilir.

Dictionary<string, AlgoTraderPosition> GetRealPositions()

Key string

Sembol tanımı

Value AlgoTraderPosition

Portföydeki pozisyonlara ait bilgileri bulunduran model. Bknz. AlgoTraderPosition

Örnek #

public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
{
    var positions = GetRealPositions();
    if (positions.ContainsKey(Symbol))
    {
        Debug($"Pozisyon verisi okundu......");
        Debug(positions[Symbol].QtyAvailable);
    }
}

OnRealPositionUpdate #

Stratejiye bağlı aracı kurum hesabının pozisyonlarında bir değişiklik olduğu durumda OnRealPositionUpdate metodu otomatik tetiklenir. İçeriğinde sadece güncellenen pozisyona ait bilgileri döner.

public override void OnRealPositionUpdate(AlgoTraderPosition position)

Parametreler #

position AlgoTraderPosition

Portföydeki pozisyonlara ait bilgileri bulunduran model. Bknz. AlgoTraderPosition

Örnek #

public override void OnRealPositionUpdate(AlgoTraderPosition position)
{
    Debug($"OnRealPositionUpdate çalıştı");
    Debug($"{position.Symbol} {position.QtyAvailable} adet ve {position.AvgCost} ortalama maliyet ile güncellendi");
}