Merhaba,
GetTradeUser() ve GetRealPositions() fonksiyonları ile portföy verilerine ulaşabilirsiniz.(backtestte kullanımaz)
Aşağıdaki örneği inceleyebilirsiniz.
public override void OnInitComplated()
{
decimal bistBakiye, viopBakiye, binanceSpotBakiye, binanceFutureBakiye;
var accounts = GetTradeUser().Accounts;
var bist = accounts.FirstOrDefault(x => (int) x.ExchangeID == (int) ExchangeType.Ise);
var viop = accounts.FirstOrDefault(x => (int) x.ExchangeID == (int) ExchangeType.Viop);
var binanceSpot = accounts.FirstOrDefault(x => (int) x.ExchangeID == (int) ExchangeType.Crypto);
var binanceFuture = accounts.FirstOrDefault(x => (int) x.ExchangeID == (int) ExchangeType.BinanceUsdtFutures);
bistBakiye = bist != null? bist.AvailableMargin:0;
viopBakiye = viop != null? viop.AvailableMargin:0;
binanceSpotBakiye = binanceSpot != null? binanceSpot.AvailableMargin:0;
binanceFutureBakiye = binanceFuture != null? binanceFuture.AvailableMargin:0;
Debug("Bist: " + bistBakiye + " Viop: " + viopBakiye + " Binance Spot: " + binanceSpotBakiye + " Future: " + binanceFutureBakiye);
var pozisyon = GetRealPositions();
if (pozisyon.ContainsKey(Symbol))
{
var satılabilirAdet = pozisyon[Symbol].QtyAvailable;
var ortMaliyet = pozisyon[Symbol].AvgCost;
var yon=pozisyon[Symbol].Side;
if(yon.Obj==Side.Buy){
Debug("Long pozisyondasınız");
}else{
Debug("Short pozisyondasınız");
}
Debug("Satılabilir adet: " + satılabilirAdet + " Maliyet: " + ortMaliyet);
}
}