1 beğenilme 0 beğenilmeme
479 kez görüntülendi
Merhaba

aşağıdaki algoritma ile  portföyümde bulunan toplam long pozisyonu kapatabiliyorum fakat short  pozisyonu kapatamıyorum pörtföyümde 5 adet short varken algoritma pozisyon kapatmak için  al emrinin başına eksi işareti koyarak  (  -5  ) adet  al emri veriyor  buda iptal edilen işlemlere düşüyor ve emir gerçekleşmiyor bu hatayı nasıl çözebiliriz.

 

 

/// <summary>

/// Strateji çalıştığında ve portföyde değişiklik olduğunda tetikelenir.

/// </summary>

/// <param name="position">Portföydeki hisselere ait değerleri bulundurur</param>

public override void OnRealPositionUpdate(AlgoTraderPosition position)

{

sembol = Symbol;

 

//Binance portföylerinde sembol isimleri BTC - ETH gibi olduğu için aşağıdaki kontrolü yapmalıyız.

if (KriptoMu && Symbol.Split('_')[2].Contains("BIN")) sembol = Symbol.Split('_')[0];

 

//Portföyde istenilen sembolün olup olmadığını kontrolü sağlanıyor.

if (position.Symbol.Equals(sembol))

{

if (KriptoMu) Kripto_kontrol = true;

var P = position;

 

//Alttaki string formatları portföyden alabileceğiniz verileri kapsamaktadır.

string Portfoy = String.Format("|{0,-10}|{1,-13}|{2,-10}|{3,-10}|{4,-10}|{5,-10}|{6,-10}|{7,-10}|{8,-10}|{9,-13}|",

"Hesap", "Sembol", "Birim", "Adet T", "Adet T1", "Adet T2", "Adet T3", "Tutar", "Sat. Adet", "Ort. Maliyet");

 

string FormatPortfoy = String.Format("|{0,-10}|{1,-13}|{2,-10}|{3,-10}|{4,-10}|{5,-10}|{6,-10}|{7,-10}|{8,-10}|{9,-13}|\n",

P.AccountId, P.Symbol, P.Currency, P.QtyT, P.QtyT1, P.QtyT2, P.QtyT3, P.Amount, P.QtyAvailable, P.AvgCost);

 

Debug(Portfoy);

Debug(FormatPortfoy);

}

}

}

}
Algoritmik Trading kategorisinde (292 puan) tarafından | 479 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme
Merhaba GetRealPositions() kullanarak bu sorunu çözebiliriz

 

var pozisyon = GetRealPositions();

var satılabilirAdet = pozisyon[Symbol].QtyAvailable;

 

kısmını kopyaladıktan sonra " satılabilirAdet " değişkenini emir adeti olarak kullanabilirsiniz

" pozisyon[Symbol] " kısmındaki >Symbol< ün emir göndereceğiniz sembolle aynı parametre adını taşımasına dikkat ediniz

İyi çalışmalar.
(223 puan) tarafından
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,636 soru
8,590 cevap
4,821 yorum
19,792 kullanıcı