Combinare segnali - II
Nell'esercizio precedente hai approssimato un segnale sigFormula confrontando il valore di altri due segnali. In questo esercizio finale, farai un passo in più usando la funzione sigFormula() per generare un segnale sigFormula.
L'obiettivo è semplice: vuoi entrare in posizione quando sia longfilter sia longthreshold diventano veri nello stesso momento. L'idea è questa: non vuoi continuare a entrare in posizione finché le condizioni restano vere, ma vuoi mantenere una posizione quando c'è un pullback in un contesto di trend rialzista.
Scrivere una funzione sigFormula è semplice quanto scrivere l'argomento di un "if statement" di R base dentro la funzione formula(). In questo caso, vuoi creare un segnale etichettato longentry, che è vero quando sia longfilter sia longthreshold passano a vero nello stesso momento.
Una volta completato questo esercizio, avrai una panoramica completa di come funzionano i segnali in quantstrat!
Questo esercizio fa parte del corso
Trading finanziario in R
Istruzioni dell'esercizio
- Usa
add.signal()per creare un segnalesigFormulache sia vero quando sialongfiltersialongthresholdsono veri. - Imposta
crossuguale aTRUE. - Etichetta questo nuovo segnale come
longentry.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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 = "___")