0 beğenilme 0 beğenilmeme
439 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 | 439 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);
				}
			}
		}

 

(16,219 puan) tarafından
Hoş geldiniz, Matriks Destek Platformu sizlere sorularınızın hızlıca cevaplanması için bir ortam sağlar. Sorduğunuz ve cevapladığınız soruların ve yorumlarınızın aldığı oylar üzerinden puan kazanırsınız. Puan sistemine bağlı kampanyamızla ücretsiz kullanım avantajlarından faydalanabilirsiniz.



9,434 soru
9,389 cevap
5,098 yorum
37,566 kullanıcı