4 beğenilme 0 beğenilmeme
2,696 kez görüntülendi
Merhabalar,

Portföy penceresinde bulunan bilgileri, işlem limiti, kontrat tipi sayısı, maliyeti, bekleyen emirler vb. bilgileri strateji editörüne nasıl alabilirim?

*Not: Soru sorarken, Kategori kısmı default değerler ile geldiği için orayı işaretlemek gözden kaçıyor sanırım, Seçiniz olsa ve seçiniz dışında bir şey seçmeyi şart koşsa bu sorun çözülebilir sanırım.

Teşekkürler,
Algoritmik Trading kategorisinde (131 puan) tarafından | 2,696 kez görüntülendi

1 cevap

10 beğenilme 0 beğenilmeme
En İyi Cevap

Asagidaki fonksiyonlar ile yanlarindaki aciklamalarda belirtilen degerlere ulasabilirsiniz. 

var overall = GetOverall();      //Islem limiti
var para1 = BistOverall;         //Hesaptaki toplam para(hesap Overall)

var para = BistAvailableMargin;  //Margin trading hesabi varsa

Ayrica TradeUser.Accounts.FirstOrDefault() tanimlamasi ile asagidaki bilgilere ulasabilirsiniz

string Currency;         //para birimi
decimal Balance;         //hesaptaki toplam para
decimal Overall;         //Islem limit
decimal ProfitLoss;      //Kar/Zarar
decimal AvailableMargin; //Kullanilabilir margin
decimal MarginCallLevel; //Hesabin margin call alacagi seviye
decimal AutoStopLevel;   //Otomatik durdurma seviyesi

Ornek:

var traderUser = GetTradeUser();
var account = tradeUser.Accounts.FirstOrDefault();
var overall = account.Overall;
var PnL = account.ProfitLoss;

 

(8,035 puan) tarafından
tarafından seçilmiş
1 0

Teşekkür ederim, Çalıştır ile hemen detayları vermeye başladı yes

Bulunan pozisyonlar, pozisyon adetleri, tipi (kısa/uzun), maliyeti, verilen emirlerin durumu vb. tüm bilgileri almak için  TradeUser.Accounts.FirstOrDefault() içerisindeki diğer detaylar nelerdir? Ayrıca first or default yerine belirli bir hesap bilgisi ile ilgili bilgileri almayı nasıl sağlayabilirim? 

Teşekkürler.

0 0
Eğer direk IQ içinde bir dosya/kütüphane vs. varsa o bilgilere ulaşabileceğim  yerini söylerseniz oradan bakıp gereken bilgilere oradan alabilirim.
1 0

Kullanabilecegimiz sadece bu yukarida yazdiklarim var. Digerlerini strateji icerisinden takip edebilirsiniz, ya da pozisyonlari stratejiye girebilirsiniz.

Strateji icerisindeki hareketleri takip etmek icin GetPortfolio() fonksiyonunu, ayrica butun stratejiler icerisinde bulunan OnOrderUpdate fonksiyonunu kullanabilirsiniz.

OnOrderUpdate ile pozisyon takibi ornek:

public override void OnOrderUpdate(IOrder order)
{
	//Gercek zamanli pozisyon takibi
	if (order.OrdStatus.Obj == OrdStatus.Filled && order.Side.Obj == Side.Buy)
	{
		var positionChange = order.OrderQty;
		realposition += (int) positionChange;
		Debug("[ONORDERUPDATE]: Pozisyon = " + realposition);
		if (realposition == 0)
		{
			SystemPosition = 0;
			Debug("Kar AL / Zarar Durdur tetiklendi");
		}
	}
	if (order.OrdStatus.Obj == OrdStatus.Filled && order.Side.Obj == Side.Sell)
	{
		var positionChange = order.OrderQty;
		realposition -= (int) positionChange;
		Debug("[ONORDERUPDATE]: Pozisyon = " + realposition);
		if (realposition == 0)
		{
			SystemPosition = 0;
			Debug("Kar AL / Zarar Durdur tetiklendi");
		}
	}
}

GetPortfolio kullanimi icin: 

IDictionary<string, decimal> portfolio = GetPortfolio();
var positionflag = portfolio.ContainsKey(Symbol) && portfolio[Symbol] != 0;
if (positionflag)	stock = portfolio[Symbol];

Ayrica Hazir stratejileri icerisindeki ZamanliStrateji'ye bakabilirsiniz.

accounts satırı için hata mesajı alıyorum
0 0
GetPortfolio da hiç veri gelmiyor.
0 0
Merhaba, hangi verilere ulaşmaya çalışıyorsunuz?
0 0
Portföyümde bulunan her bir symbol (hisse) ye ait miktar ve ortalama alım tutarına ulaşmak istiyorum.

Bu konunun başlığında söylenen bilgilere ulaşmak istiyorum.
1 0
Merhaba, istediğiniz verilere güvenlik nedeniyle kod içerisinden ulaşmak malesef mümkün değil. Portföydeki ulaşabileceğiniz veriler arkadaşımın yukarıda verdiği cevaptaki kadardır.

GetPortfolio() fonksiyonu strateji içerisinde bulunan sembollerin pozisyonlarını takip etmeye yarar.

İyi çalışmalar
0 0
Manuel alım sonrasında kendi belirlediğim stratejiye göre hisse satmak istiyorum.

Hesaptaki hisse miktarını bilmeden ne kadar satış yapacağımızı, alış maliyetini bilmeden kar/zarar durumlarını nasıl belirleyeceğiz.

Matriks IQ algo ile sadece aldıklarımızı satabiliriz gibi mi kod yazmalıyız?
0 0

GetRealPositions() fonksiyonu ile portföydeki enstrümanların adet, kar zarar, ortalama maliyet gibi değerlerine ulaşılıp stratejide kullanılabilir. Portföydeki bütün veriler aracı kurumdan gelmektedir ve aracı kurumlara göre ortalama maliyet hesaplaması değişebilir.

Detaylı bilgi için aşağıdaki linkteki konuyu inceleyebilirsiniz.

https://destek.matriksdata.com/?qa=2834/portf%C3%B6ye-ili%C5%

 

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.



8,643 soru
8,594 cevap
4,826 yorum
19,867 kullanıcı