0 beğenilme 0 beğenilmeme
99 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 (18 puan) tarafından | 99 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,335 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,157 soru
9,112 cevap
5,030 yorum
28,593 kullanıcı