MatriksIQ Destek
Matriks Destek
Matriks Web Destek
Matriks Mobile Destek
3 beğenilme 0 beğenilmeme
303 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 (125 puan) tarafından | 303 kez görüntülendi

1 cevap

8 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;

 

(3,499 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
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.



380 soru
433 cevap
506 yorum
240 kullanıcı