0 beğenilme 0 beğenilmeme
196 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;

}
Algoritmik Trading kategorisinde (22 puan) tarafından | 196 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.

(4,955 puan) tarafından
0 0
Aslında bu sistemi sizin hazır stratejinizden aldım. Kodlama hiç bilmiyordum ve çok korkuyordum ama öğrendim yetecek kadar. Değişken değerler nelerdir? "Position" evet bir değişken ama başka hangi tür değişkenlere bunu atamak gerekir?
9,434 soru
9,389 cevap
5,098 yorum
37,585 kullanıcı