0 beğenilme 0 beğenilmeme
21 kez görüntülendi
Merhaba,
Kodlaması aşağıdaki gibi çalışan çift yönlü işlem yapan bir stratejide robot duraklatılıp tekrar çalıştığında kaldığı yerden devam eder mi yoksa lastorderside gibi koşullar eklenmeli mi? Parabloic sar hazır stratejisinden esinlenerek bu sistemi oluşturdum ve güzel çalışıyor sadece bundan emin olmak istedim.
 

SendOrderSequential(false);

WorkWithPermanentSignal(true);

if (Position == 0)

{

SendMarketOrder(Symbol, OrderQuantity, OrderSide.Sell, includeAfterSession:false);

TrailingStopLoss(Symbol, SyntheticOrderPriceType.Percent, ShortStopLevel);

Debug("Short pozisyon açıldı.");

Position = -1;

}

 

else if (Position == 1)

{

SendMarketOrder(Symbol, 2 * OrderQuantity, OrderSide.Sell, includeAfterSession:false);

TrailingStopLoss(Symbol, SyntheticOrderPriceType.Percent, ShortStopLevel);

Debug("Long pozisyondan Short pozisyona geçildi.");

Position = -1;

}
önce Algoritmik Trading kategorisinde (18 puan) tarafından | 21 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhabalar,
SendOrderSequential(true); Sistem duraklatılıp devam ettirildiğinde son işlem yönünü devreye alıp sıralı şekilde alım satıma devam eder. Sizin gönderdiğiniz örnekte ise "false" olduğundan sırasız emir gönderir ve son işlem yönünü hafızada tutmaz. 

Bu durumda ancak değişkenler ile if koşulu içerisinde kontrol etmeniz gerekir. Duraklattığınızda ise sistemdeki değişkenler varsayılan değerlerine geri döner.
Buna önlem almak adına "RestoreLastValueOnResumeAttribute" özelliğini kullanabilirsiniz.
https://iqyardim.matriksdata.com/docs/matriksiq-kullanim-kilavuzu/algotrader/degisken-ve-parametre-tanimlama/ 

İyi çalışmalar dileriz.

önce (4,018 puan) tarafından
9,033 soru
8,985 cevap
4,999 yorum
24,264 kullanıcı