Matriks Destek ve Yardım Platformu

Matriks Ürünleri ile ilgili tüm sorularınız için bizlere buradan ulaşabilirsiniz. Daha önce sorulan soruları ve verilen cevapları ilgili sekmelerden ve arama üzerinden inceleyebilirsiniz. Sağ taraftaki kategoriler üzerinden İlgilendiğiniz özelliklerle ilgili soruları filtreleyebilirsiniz. Soru ve cevapları sosyal medyada paylaşabilirsiniz. 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.

4

Portföy penceresinde görülen bilgileri strateji editörüne almak

Soruldu
Görüntülenme
3.737 görüntülenme
Durum
Çözüldü
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,
Paylaş

1 Cevap

10

Kabul edilen 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;

 

BağlantıBayrakladüzenlendi · Murat İŞLERMatt RicksMatriks Destek8.033

Yorumlar (9)

  • ▲1

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

    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.

  • ▲0
    GetPortfolio da hiç veri gelmiyor.
  • ▲0
    Merhaba, hangi verilere ulaşmaya çalışıyorsunuz?
    OrçunMatriks DestekBayrakla
  • ▲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
    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
    OrçunMatriks DestekBayrakla
  • ▲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

    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%

     

    KripexMatriks DestekBayrakla

Cevabınız

Cevap yazmak için giriş yapın.Giriş yapKayıt ol