Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Använd add.signal() för att skapa en sigFormula-signal som är sann när både longfilter och longthreshold är sanna.
  • Sätt cross till TRUE.
  • 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 = "___")
Redigera och kör kod