Merhaba,
Sadece canlıda çalışmasını istediğiniz kod blokları varsa bunu if (LiveMode) kontrolü ile yapabilirsiniz.
sadece backtestte çalışmasını istediğini kod satırlarını da if (!LiveMode) kontrolü ile yapabilirsiniz.
Aşağıdaki yapıyı inceleyebilirsiniz.
iyi çalışmalar.
public override void OnInitComplated()
{
if (LiveMode)
{
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);
}
}
}