0 beğenilme 0 beğenilmeme
322 kez görüntülendi
Merhaba, backtest esnasında ( kullanıcı seçimine göre ) getirebilir miyiz? Teşekkürler,
bir cevap ile ilgili: Portföy bilgisini kod ile almak
Algoritmik Trading kategorisinde (22 puan) tarafından | 322 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

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);
				}
			}
		}

 

(15,892 puan) tarafından
8,636 soru
8,590 cevap
4,821 yorum
19,786 kullanıcı