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);
}
}
}
}