Aan de slagGa gratis aan de slag

Signalen combineren - II

In de vorige oefening heb je een sigFormula-signaal benaderd door de waarde van twee andere signalen te vergelijken. In deze laatste oefening ga je nog een stap verder door de functie sigFormula() te gebruiken om een sigFormula-signaal te genereren.

Het doel van deze oefening is simpel: je wilt een positie innemen wanneer zowel longfilter als longthreshold op hetzelfde moment waar worden. Het idee hierachter is: je wilt niet steeds opnieuw instappen zolang de voorwaarden waar blijven, maar je wilt wél een positie aanhouden wanneer er een pullback is in een opwaartse trend.

Een sigFormula schrijven is net zo eenvoudig als het argument van een "if-statement" in base R binnen de functie formula() zetten. In dit geval wil je een signaal maken met het label longentry, dat waar is wanneer zowel longfilter als longthreshold tegelijkertijd naar waar overschakelen.

Zodra je deze oefening afrondt, heb je een compleet overzicht van hoe signalen in quantstrat werken!

Deze oefening maakt deel uit van de cursus

Financieel traden in R

Cursus bekijken

Oefeninstructies

  • Gebruik add.signal() om een sigFormula-signaal te maken dat waar is wanneer zowel longfilter als longthreshold waar zijn.
  • Stel cross gelijk aan TRUE.
  • Label dit nieuwe signaal als longentry.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 = "___")
Code bewerken en uitvoeren