MulaiMulai sekarang secara gratis

Tulis indikator Anda sendiri - I

Sejauh ini, Anda telah menggunakan indikator yang sepenuhnya sudah ditulis untuk Anda dengan menggunakan fungsi add.indicator(). Sekarang saatnya Anda menulis dan menerapkan indikator Anda sendiri.

Fungsi indikator Anda akan menghitung rata-rata dari dua indikator berbeda untuk membuat RSI 3,5. Caranya sebagai berikut:

  • Menerima deret harga.
  • Hitung RSI 3.
  • Hitung RSI 4.
  • Kembalikan rata-rata dari RSI 3 dan RSI 4.

RSI ini dapat dianggap sebagai RSI 3,5, karena lebih panjang daripada RSI 3 dan lebih pendek daripada RSI 4. Dengan mengambil rata-rata, indikator ini mempertimbangkan dampak harga empat hari yang lalu sambil tetap lebih cepat daripada RSI 4 sederhana, dan juga mengurangi noise dari RSI 3 maupun RSI 4.

Dalam latihan ini, Anda akan membuat fungsi untuk indikator ini bernama calc_RSI_avg() dan menambahkannya ke strategi Anda strategy.st. Semua paket yang relevan juga sudah dimuat untuk Anda.

Latihan ini adalah bagian dari kursus

Perdagangan Finansial dengan R

Lihat Kursus

Petunjuk latihan

  • Buat dan beri nama fungsi calc_RSI_avg dengan tiga argumen price, n1, dan n2, dalam urutan tersebut.
  • Hitung RSI dengan lookback n1 dan beri nama RSI_1.
  • Hitung RSI dengan lookback n2 dan beri nama RSI_2.
  • Hitung rata-rata dari RSI_1 dan RSI_2. Sebut sebagai RSI_avg.
  • Atur nama kolom RSI_avg menjadi RSI_avg menggunakan colnames(), dan kembalikan RSI_avg.
  • Tambahkan indikator ini ke strategi Anda dengan masukan n1 = 3 dan n2 = 4. Beri label indikator ini RSI_3_4.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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 = ___)
Edit dan Jalankan Kode