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

Kendi indikatörünü yaz - I

Şimdiye kadar add.indicator() fonksiyonunu kullanarak, senin için tamamen önceden yazılmış indikatörlerden yararlandın. Artık kendi indikatörünü yazıp uygulama zamanı.

Bu indikatör fonksiyonun, iki farklı indikatörün ortalamasını hesaplayarak 3.5'lik bir RSI oluşturacak. Nasıl mı?

  • Bir fiyat serisini girdi olarak al.
  • RSI 3'ü hesapla.
  • RSI 4'ü hesapla.
  • RSI 3 ve RSI 4'ün ortalamasını döndür.

Bu RSI, RSI 3'ten daha uzun, RSI 4'ten daha kısa olduğu için 3.5'lik bir RSI gibi düşünülebilir. Ortalaması alındığında, bu indikatör dört gün önceki etkinin de hesaba katılmasını sağlar, basit bir RSI 4'e göre hâlâ daha hızlıdır ve hem RSI 3'ün hem de RSI 4'ün gürültüsünü azaltır.

Bu egzersizde, calc_RSI_avg() adlı bu indikatör için bir fonksiyon oluşturacak ve bunu strategy.st stratejine ekleyeceksin. İlgili tüm paketler senin için yüklendi.

Bu egzersiz

R ile Finansal Alım Satım

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Sırayla price, n1 ve n2 olmak üzere üç argüman alan calc_RSI_avg adlı bir fonksiyon oluştur ve isimlendir.
  • n1 geri bakış periyoduyla bir RSI hesapla ve adını RSI_1 koy.
  • n2 geri bakış periyoduyla bir RSI hesapla ve adını RSI_2 koy.
  • RSI_1 ve RSI_2'nin ortalamasını hesapla. Buna RSI_avg adını ver.
  • colnames() kullanarak RSI_avg'in sütun adını RSI_avg olarak ayarla ve RSI_avg'i döndür.
  • Bu indikatörü stratejine n1 = 3 ve n2 = 4 girdileriyle ekle. Bu indikatöre RSI_3_4 etiketini ver.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Write the calc_RSI_avg function
calc_RSI_avg <- function(price, n1, n2) {
  
  # RSI 1 takes an input of the price and n1
  RSI_1 <- RSI(price = price, n = ___)
  
  # RSI 2 takes an input of the price and n2
  RSI_2 <- RSI(price = price, n = ___)
  
  # RSI_avg is the average of RSI_1 and RSI_2
  RSI_avg <- (___ + ___)/2
  
  # Your output of RSI_avg needs a column name of RSI_avg
  colnames(RSI_avg) <- "___"
  return(___)
}

# Add this function as RSI_3_4 to your strategy with n1 = 3 and n2 = 4
add.indicator(strategy.st, name = ___, arguments = list(price = quote(Cl(mktdata)), n1 = ___, n2 = ___), label = ___)
Kodu Düzenle ve Çalıştır