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.

0

OnInitComplated() yapısı içine stoploss fonksiyonu yazabiliyor muyuz?

Soruldu
Görüntülenme
884 görüntülenme
Durum
Çözüldü

 

Merhaba , 

*OnInit Complated() mı doğru OnInit Completed() mı?

*OnInitComplated() yapısı içierisine StopLoss fonksiyonunu yazabiliyor muyuz? GetRealPosition() ile çektiğimiz portföy bilgilerine göre Stop olmasını sağlayabilir miyiz? Aşağıdaki gibi?

public override void OnInitComplated()
		{
			var pozisyon = GetRealPositions();
			if (pozisyon.ContainsKey(Symbol))
			{
				var Maliyet = pozisyon[Symbol].AvgCost;
				var Quantity = pozisyon[Symbol].QtyAvailable;

				Debug("Maliyet	: " + Maliyet);
				Debug("Başlangıç Miktarı	: " + Quantity);
				
				StopLoss(Symbol, SyntheticOrderPriceType.Percent, ZararDurdur);

 

Paylaş

Yorumlar (1)

  • ▲0

    OnInitComplated() yapısı içerisinde Aşağıdaki gibi LastOrderSide kontrolü yapabiliyor muyuz?

    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)
    					{
    						
                            LastOrderSide.Obj = Side.Buy;
                            Debug("Long pozisyondasınız")
    
    					}else
    					{
                            LastOrderSideForShort.Obj = Side.Sell;
    						Debug("Short pozisyondasınız");
    					}

    Ayrıca mevcutta, kullanılan sembol portföyde var ise başlangıç miktarını doğru çekiyor. Ancak işlemden sonra sanki başlangıçta 0(sıfır)mış gibi rapor ile aynı ilerliyor. aşağıdaki örnekteki gibi 45 sözleşme var satış yapıyor 0(sıfır) olması gerekirken tekrar 45 sözleşme görünüyor ve StopLoss şartı gerçekleşiyor ve tekrar Long pozisyona geçiyor. Halbuki elde 0(sıfır) olduğundan StopLoss ile ilgisinin olmaması lazım.

    02.07.2023 21:39:37.180  :Maliyet : 7.12

    02.07.2023 21:39:37.182  :Başlangıç Miktarı : 45.0

    05.07.2023 13:00:03.015  :Satış emri gönderildi.[ 45 adet ]

    05.07.2023 13:00:04.589  : Emir Gerçekleşti.

    05.07.2023 13:00:04.589  :İşlem yapılabilir miktar : 45.0

    05.07.2023 13:00:15.398  :Sentetik emir tetiklendi

    05.07.2023 13:00:16.664  : Emir Gerçekleşti.

    05.07.2023 13:00:16.665  :İşlem yapılabilir miktar : 0

    Bir diğer konu ise gözlemime göre OnInitComplated() içinde StopLoss fonksiyonu koyunca stratejinin başlatıldığı bardaki değeri maliyet gibi alıyor ve ona göre işlem yapıyor. Gerçek maliyeti tanıtma şansımız var mı?

1 Cevap

1

Kabul edilen cevap

Merhaba,

*OnInit Complated() mı doğru OnInit Completed() mı?

ikisi de doğru ikisi de aynı amaca hizmet etmektedir.

*OnInitComplated() yapısı içierisine StopLoss fonksiyonunu yazabiliyor muyuz? GetRealPosition() ile çektiğimiz portföy bilgilerine göre Stop olmasını sağlayabilir miyiz? Aşağıdaki gibi?

Evet yazılabilir sentetik emirler tanımlandığı andaki fiyatı referans alıp stratejide pozisyon oluştuğunda aktif olmaktadır.

örnek vermek gerekirse elinizde pozisyon yok ve sentetik emir tanımadınız o anki fiyat 10TL olsun 30dak sonra pozisyon oluştuğunda o anki fiyat 9TL bile olsa 10TL'yi referans alır.

Unblocked Games offering a wide range of experiences: action, puzzle, platform, racing, clicker mechanics, strategy, sports, even horror.
https://unblocked1games.github.io
BağlantıBayrakladüzenlendi · OberezKripexMatriks Destek16.499

Yorumlar (1)

  • ▲0

    Ve bir de şunu cevaplayabilirseniz  OnInitComplated içinde LastOrderSide kontrolü yaptırtabiliyor muyuz?

    public override void OnInitComplated()
    		{
    			var poz = GetRealPositions();
    			if (poz.ContainsKey(Symbol))
    			{
    				var Maliyet = poz[Symbol].AvgCost;
    				var yon = poz[Symbol].Side;
    					if (yon.Obj == Side.Buy)
    					{
    						Debug("Long pozisyondasınız");
    						LastOrderSide.Obj = Side.Buy
    						
    					}
    					if (yon.Obj == Side.Sell)
    					{
    						Debug("Short pozisyondasınız");
    						LastOrderSideForShort.Obj= Side.Sell
    						
    					}
    			}
    		}

     

Cevabınız

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