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