Menggabungkan sinyal - II
Pada latihan sebelumnya, Anda mendekati sinyal sigFormula dengan membandingkan nilai dari dua sinyal lain. Pada latihan terakhir ini, Anda akan melangkah lebih jauh dengan menggunakan fungsi sigFormula() untuk menghasilkan sinyal sigFormula.
Tujuan latihan ini sederhana. Anda ingin masuk posisi ketika longfilter dan longthreshold keduanya bernilai true pada saat yang sama. Idenya adalah: Anda tidak ingin terus-menerus masuk posisi selama kondisi tetap terpenuhi, tetapi Anda ingin menahan posisi ketika terjadi pullback dalam kondisi tren naik.
Menulis fungsi sigFormula sesederhana menuliskan argumen "if statement" di base R di dalam fungsi formula(). Dalam kasus ini, Anda ingin membuat sinyal bernama longentry, yang bernilai true ketika longfilter dan longthreshold sama-sama beralih menjadi true pada saat yang sama.
Setelah menyelesaikan latihan ini, Anda akan memiliki gambaran lengkap tentang cara kerja sinyal di quantstrat!
Latihan ini adalah bagian dari kursus
Perdagangan Finansial dengan R
Petunjuk latihan
- Gunakan
add.signal()untuk membuat sinyalsigFormulayang bernilai true ketikalongfilterdanlongthresholdkeduanya bernilai true. - Setel
crosssama denganTRUE. - Beri label sinyal baru ini sebagai
longentry.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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 = "___")