BaşlayınÜcretsiz başlayın

sigCrossover kullanımı

Bu strateji için uzun bir filtreye sahip olmak gerekli olsa da, tek başına bir işlem açmak için yeterli değildir. Ancak koşul geçerli olmadığı anda, strateji hiçbir şekilde pozisyon taşımamalıdır. Bu egzersizde, yukarıda belirtilen kuralın tersini sigCrossover() fonksiyonunu kullanarak uygulayacaksın.

sigComparison() bir koşulun sağlanıp sağlanmadığını her zaman belirtirken, sigCrossover() yalnızca sinyalin ilk oluştuğu anda olumlu sonuç üretir, sonrasında üretmez. Bu, bir işlemi başlatmak için kullanılacak sinyallerde faydalıdır; çünkü çoğu durumda tekrar tekrar işlem tetiklemek yerine yalnızca tek bir işlem başlatmak istersin.

Bu durumda, SMA50'nin SMA200'ün altına geçtiğini belirtecek şekilde sigCrossover() fonksiyonunu uygulayacaksın. Bu sinyali, hareketli ortalama filtresi ortamın pozisyon taşımaya elverişli olmadığını söylediğinde pozisyondan çıkacağı için filterexit olarak etiketleyeceksin.

Bu egzersiz, kursun bir parçasıdır

R ile Finansal Alım Satım

Kursa Göz Atın

Egzersiz talimatları

  • add.signal() kullanarak SMA50'nin SMA200'ün altına geçtiğini belirten bir sigCrossover ekle.
  • Bu sinyali filterexit olarak etiketle.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Add a sigCrossover which specifies that the SMA50 is less than the SMA200 and label it filterexit
add.signal(strategy.st, name = "___",
           
           # We're interested in the relationship between the SMA50 and the SMA200
           arguments = list(columns = c("___", "___"),
                            
                            # The relationship is that the SMA50 crosses under the SMA200
                            relationship = "___"),
           
           # Label it filterexit
           label = "___")
Kodu Düzenle ve Çalıştır