IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Usa add.signal() per creare un segnale sigFormula che sia vero quando sia longfilter sia longthreshold sono veri.
  • Imposta cross uguale a TRUE.
  • 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 = "___")
Modifica ed esegui il codice