Kombinera signaler – del II
I föregående övning approximerade du en sigFormula-signal genom att jämföra värdet av två andra signaler. I den här avslutande övningen går du ett steg längre och använder funktionen sigFormula() för att generera en sigFormula-signal.
Målet med övningen är enkelt. Du vill gå in i en position när både longfilter och longthreshold blir sanna samtidigt. Tanken är följande: Du vill inte fortsätta att gå in i en position så länge villkoren är uppfyllda, men du vill hålla en position när det sker ett återdrag i en stigande marknad.
Att skriva en sigFormula-funktion är lika enkelt som att skriva argumentet i ett "if-uttryck" i bas-R inuti funktionen formula(). I det här fallet vill du skapa en signal med etiketten longentry, som är sann när både longfilter och longthreshold korsar över till sant samtidigt.
När du är klar med den här övningen har du en fullständig översikt över hur signaler fungerar i quantstrat!
Den här övningen är en del av kursen
Finansiell handel i R
Övningsinstruktioner
- Använd
add.signal()för att skapa ensigFormula-signal som är sann när bådelongfilterochlongthresholdär sanna. - Sätt
crosstillTRUE. - Ge den nya signalen etiketten
longentry.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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 = "___")