1 beğenilme 1 beğenilmeme
689 kez görüntülendi
GetRealPositions() Fonksiyonu her barda veri dönüyor mu? Pozisyon takibini algo içinde her barda bu fonksiyonla yapmak istiyorum. Bunu yapabiliyorum da ancak güvenilir mi? Her bar veri alabilir miyim?
Algoritmik Trading kategorisinde (77 puan) tarafından | 689 kez görüntülendi

1 cevap

1 beğenilme 0 beğenilmeme
Merhabalar, portföydeki verileri kurumlar gerçek zamanlı olarak iletemiyor biz istekte bulundukça cevap dönüyorlar. Bu nedenle portföyünüz güncellenmediğinde GetRealPositions()  fonksiyonu da geriden gelebilir. Bunun önüne geçmenin yolu portföyünüzün ayarlarındaki otomatik güncelle seçeneğini aktif edip 1 dk yapmaktır. Bu sayede siz uzun süre portföyünüzü açmasanız dahi her 1dk da bir sunucudan verileri çekecektir. Bu şekilde çalışırsanız GetRealPositions() fonksiyonu sorunsuz çalışacaktır ve evet her barda veri almanız mümkün.
(4,555 puan) tarafından
1 0
Teşekkür ediyorum yorumunuz için.

Bahsettiğiniz şekilde yapınca pozisiyonları çekmeye başladı. Fakat sanırım bir bug var. Tam koşulu oluşturamadım. Her defasında pozisyonu çekmiyor. Portföy hesabından çıkıp girdikten sonra scripti çalıştırıyorum. Ancak o şekilde alıyor. Bu kısmın doğru çalışması; içerdeki portföyü çekip bir gün sonra kalınan yerden stoploss ve takeprofit noktalarını kod içerisinde otomatik olarak hesaplamam içinelzem. Dosyaya yazarak bu işleri halledebiliyorum fakat birden fazla robot çalıştıkça işler karışıyor. Bu şekilde gerçekten çok verimli çalışıyor. Ancak sağlıklı bir şekilde çalışması gerekiyor ki sorun yaşamayayım.
1 0
Rica ederim.

Pozisyon çekmediği anlarda portföye giriş yapabiliyor musunuz? Stratejiyi ne kadar süre çalıştırdıktan sonra veriler gelmemeye başlıyor? Hangi kurum ve sembollerle çalışıyorsunuz? Stratejinizi veya portföyden verileri çektiğiniz kod parçasını atabilirseniz inceleyelim.
0 0

Aynı sorunu ben de yaşıyorum. Portföy İşlemleri penceresi her dakika otomatik güncelleniyor (Osmanlı). Orada bir sorun yok. Dikkat çekmek istediğim nokta:  Sorun yaşadığım Sembol (GOZDE), tümünü sattıktan sonra bu pencereden kayboldu. Daha önceden kapattığım bazı semboller ise hala 0 Adet olarak görünmeye devam ediyor.

Bir pozisyonu kapatalı 10 dakikadan fazla oldu, GetRealPositions hala satıştan önceki adedi gösteriyordu, ta ki yeni bir alış yapılana kadar (Bu sırada Portföy İşlemleri ekranında sembol (GOZDE) tekrar listelendi).

Yukarıdaki açıklamadan sanırım sorunun nerede olduğunu tahmin etmişsinizdir. Bugün aynı sorun aynı sembol ile birkaç kez aynı şekilde tekrarladı. İyi çalışmalar.

		public decimal GetMyPosition()
		{
			decimal SymQtyLocal = 0;
			var position = GetRealPositions();
			try
			{
				SymQtyLocal = position[Symbol1].QtyAvailable;	// Whatever I have in my portfolio
				AvgCost = position[Symbol1].AvgCost;
				if (MyDebug) Debug("======== Retrieved positon for: " + Symbol1 + " : " + SymQtyLocal);
			}
			catch
			{
				SymQtyLocal = 0;
			}
			return SymQtyLocal;
		}



DEBUG:
26.05.2022 13:25:08.961  :======== Retrieved positon for: GOZDE : 60

 

0 0
Merhabalar,

Bist tarafında .QtyLong ve .QtyShort kodlarını sorunsuz kullanıyorum ancak Binance Futures kısmında mevcut pozisyon durumumu bu şekilde çekmeye çalıştığım zaman sonuçlar 0 olarak geliyor.  .QtyAvailable olarak kullandığımda adet bilgisini çekebiliyorum ancak bu sefer de pozisyon yönünü çekememiş oluyorum. Sorun nereden kaynaklanıyor olabilir?
1 0

Merhaba,

position nesnesindeki side özelliğini kullanabilirsiniz.

if(position.Side.Obj==Side.Sell)
{
	Debug("Short pozisyondasınız");
}else{
	Debug("Long pozisyondasınız");
}

 

7,637 soru
7,640 cevap
4,448 yorum
10,879 kullanıcı