CommencerCommencer gratuitement

Utiliser sigThreshold - I

Dans les deux prochains exercices, vous allez vous concentrer sur le signal sigThreshold. Le signal sigThreshold sert principalement à comparer un indicateur à une valeur fixe, ce qui s’applique généralement aux oscillateurs bornés ou à des scores statistiques glissants (par exemple, pour une stratégie qui choisirait d’ouvrir une position acheteuse lorsque le ratio moyenne/écart-type est à -2, et inversement). Alors que sigComparison et sigCrossover traitent de quantités généralement basées sur un indicateur qui prend des valeurs dans le même ordre de grandeur que les prix, sigThreshold existe précisément pour couvrir les situations en dehors du cadre d’indicateurs qui prennent des valeurs similaires aux prix.

De plus, la fonction sigThreshold() prend l’argument cross, qui précise si elle fonctionne de manière similaire à sigComparison (cross = FALSE) ou à sigCrossover (cross = TRUE). Dans cet exercice, vous allez implémenter une variante de sigThreshold qui se comporte comme sigComparison.

Votre tâche consiste à implémenter un sigThreshold qui vérifie si DVO_2_126 est inférieur à 20. Ce signal sera l’un des deux interrupteurs qui doivent être « activés » pour entrer en position longue dans la stratégie.

Cet exercice fait partie du cours

Trading financier en R

Afficher le cours

Instructions

  • Utilisez add.signal() pour ajouter un signal sigThreshold précisant que DVO_2_126 doit être inférieur à 20.
  • Définissez cross à FALSE.
  • Nommez ce signal longthreshold.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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 = "___")
Modifier et exécuter le code