Sinyalleri birleştirme - II
Önceki egzersizde, iki başka sinyalin değerini karşılaştırarak bir sigFormula sinyalini yaklaşık olarak oluşturmuştun. Bu son egzersizde, bunu bir adım ileri götürüp sigFormula() fonksiyonunu kullanarak bir sigFormula sinyali üreteceksin.
Bu egzersizin hedefi basit. Hem longfilter hem de longthreshold aynı anda true olduğunda bir pozisyona girmek istiyorsun. Fikir şu: Koşullar true kaldığı sürece sürekli pozisyona girmek istemiyorsun, ama yükseliş trendindeki bir ortamda geri çekilme olduğunda pozisyonu tutmak istiyorsun.
Bir sigFormula fonksiyonu yazmak, base R'de formula() fonksiyonunun içine bir "if deyimi"nin argümanını yazmak kadar kolaydır. Bu durumda, longfilter ve longthreshold aynı anda true olacak şekilde üstten kesiştiğinde true olan, longentry etiketli bir sinyal oluşturmak istiyorsun.
Bu egzersizi tamamladığında, quantstrat'ta sinyallerin nasıl çalıştığına dair tam bir genel bakışa sahip olacaksın!
Bu egzersiz
R ile Finansal Alım Satım
kursunun bir parçasıdırEgzersiz talimatları
add.signal()kullanarak, hemlongfilterhem delongthresholdtrue olduğunda true olan birsigFormulasinyali oluştur.crossdeğeriniTRUEolarak ayarla.- Bu yeni sinyali
longentryolarak etiketle.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Add a sigFormula signal to your code specifying that both longfilter and longthreshold must be TRUE, label it longentry
add.signal(strategy.st, name = "___",
# Specify that longfilter and longthreshold must be TRUE
arguments = list(formula = "___ & ___",
# Specify that cross must be TRUE
cross = ___),
# Label it longentry
label = "___")