Aan de slagGa gratis aan de slag

sigThreshold gebruiken - I

In de volgende twee oefeningen focus je op het sigThreshold-signaal. Het sigThreshold-signaal wordt vooral gebruikt om een indicator te vergelijken met een vaste waarde. Dat is vaak handig voor begrensde oscillatoren, of bijvoorbeeld voor voortschrijdende statistische scores (bijvoorbeeld voor een handelsstrategie die long gaat wanneer de verhouding van gemiddelde tot standaarddeviatie op -2 staat, of andersom). Waar sigComparison en sigCrossover werken met grootheden die meestal zijn gebaseerd op een indicator met waarden in dezelfde orde als prijzen, is sigThreshold er juist om situaties af te dekken buiten de grenzen van indicatoren die vergelijkbaar zijn met prijzen.

Daarnaast neemt de functie sigThreshold() het argument cross, dat aangeeft of hij zich gedraagt als sigComparison (cross = FALSE) of als sigCrossover (cross = TRUE). In deze oefening implementeer je een variant van sigThreshold die werkt zoals sigComparison.

Jouw taak is om een sigThreshold te implementeren die controleert of DVO_2_126 onder de 20 ligt. Dit signaal fungeert als een van de twee schakelaars die "aan" moeten staan om een long-positie in de strategie te openen.

Deze oefening maakt deel uit van de cursus

Financieel traden in R

Cursus bekijken

Oefeninstructies

  • Gebruik add.signal() om een sigThreshold-signaal toe te voegen dat specificeert dat DVO_2_126 onder de 20 moet liggen.
  • Zet cross gelijk aan FALSE.
  • Geef dit signaal het label longthreshold.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Implement a sigThreshold which specifies that DVO_2_126 must be less than 20, label it longthreshold
add.signal(strategy.st, name = "___", 
           
           # Use the DVO_2_126 column
           arguments = list(column = "___", 
                            
                            # The threshold is 20
                            threshold = ___, 
                            
                            # We want the oscillator to be under this value
                            relationship = "___", 
                            
                            # We're interested in every instance that the oscillator is less than 20
                            cross = ___), 
           
           # Label it longthreshold
           label = "___")
Code bewerken en uitvoeren