12 beğenilme 0 beğenilmeme
4,843 kez görüntülendi

Merhabalar,

DİKKAT: IQ tarafında yapı, veri terminaline göre daha serbesttir. Peş peşe AL / kademeli AL gibi seçenekler mümkündür. 
Bu tip bir hedefiniz var ise, emirleri sıralı gönder seçmezsiniz. Seçmemelisiniz.
Bununla beraber, çok büyük oranda, emirlerin sıralı gönderilmesi tercih edilecektir.
Ve, bazı stratejiler içinde peş peşe AL veya SAT’lar oluşması çok olağandır. 
Bu gibi durumlarda, emirleri sıralı gönder seçimi kritik bir öneme sahiptir. 
Bu seçim yapılmazsa, istemeyeceğiniz durumlarla karşılaşabilirsiniz. Dikkat ediniz. 

Normal şartlar altında, stratejilerin standart hali, AL ile başlamak üzere ve 1 AL 1 SAT sırası ile ilerlemek üzere kurgulanmıştır.
Çalıştırdığınızda ilk emir sat gelir ise, gönderilmez ve şöyle bir bilgilendirme gelir:


İpucu: Hazır stratejilerde kodu değiştiremezsiniz. Bununla beraber, Stratejiyi kendi stratejileriniz içine kopyalayıp, sonrasında, içerikte değişiklik yapabilirsiniz.


Normalde, strateji içinde ilgili satır şöyledir:

SendOrderSequential(true) 

Bu şu demektir: İlk alış emri ile başlanacaktır. Eğer,  alış emri oluşmazsa, oluşana kadar emirler gönderilmeyecektir. Sonrasında emirler sıralı gönderilecektir. {al,sat,al,sat…}


Dilerseniz, bu kodu aşağıdaki seçeneklerden herhangi birisi ile değiştirebilirsiniz:

 

SendOrderSequential(false)

Bu seçim şunu getirir: Emirleri gönderirken sıra gözetilmeyecektir.


DİKKAT: Bu seçim ayrıca riskler içerir. İlk emir SAT olarak gelse de gönderilir. Bununla beraber, sıralı gönderim koşulu gözetilmeyeceği için, strateji içinde peş peşe AL veya SAT emirleri oluşur ise, hepsi ayrı ayrı gönderilecektir. Bu da istemeyeceğiniz durumlar ile karşılaşmanıza sebep olabilir. 
Bu seçimi sadece, stratejiniz biriktirme üzerine kurulu ise uygulamalısınız. Aksi takdirde kesinlikle uygulamayınız. 

SendOrderSequential(true, Side.All) 

Kodun bu şekilde tanımlanması şu demektir: 
Emirler gene sıralı gönderilecektir. Bununla beraber, ilk emrin ne olduğuna dair bir kontrol söz konusu olmayacaktır. Önce hangi yönde bir emir gelir ise, o emir doğrudan gönderilecektir. 
Örnek sıralama:  {sat, al, sat, al…} ya da {al,sat,al,sat…}

SendOrderSequential(true, false) : 
Kodun bu şekilde tanımlanması şu demektir: 
SendOrderSequential(true) ile aynı işlevi görür. {al,sat,al,sat…}


SendOrderSequential(true, Side.Buy) : 
Kodun bu şekilde tanımlanması şu demektir: 
SendOrderSequential(true) ile aynı işlevi görür. {al,sat,al,sat…}

SendOrderSequential(true, Side.Sell) : 
Kodun bu şekilde tanımlanması şu demektir: 
Emirler sıralı gönderilecektir, fakat bu komut ile, ilk emrin satış emri olması beklenecektir. 
Yani ilk standart durumun tersi bir başlangıç tanımlanmış olur. {sat,al,sat,al…}
Zaten pozisyonunuz var ise, yani portföyünüz AL durumunda ise, SAT gelmesini beklemek için, bu komutu bu şekilde kullanabilirsiniz. 

Bol kazançlar...

Algoritmik Trading kategorisinde (13,600 puan) tarafından
tarafından düzenlendi | 4,843 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme
Backtestin sat ile bitmesi ve tekrar AL pozisyon açmamsı için ne yapabiliriz.
(28 puan) tarafından
0 0
Merhabalar,

Maalesef böyle bir seçenek bulunmamaktadır.

İyi çalışmalar.
backtestler kaldığı yerden devam ediyor mu
8,630 soru
8,584 cevap
4,819 yorum
19,772 kullanıcı