0 beğenilme 0 beğenilmeme
402 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 | 402 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,179 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,148 soru
9,103 cevap
5,027 yorum
27,976 kullanıcı