CommencezCommencez gratuitement

Utiliser sigThreshold - I

Dans les deux prochains exercices, vous vous concentrerez sur le signal sigThreshold. Le signal sigThreshold sert principalement à comparer un indicateur à une valeur fixe, ce qui s'applique souvent aux oscillateurs bornés ou à des scores statistiques glissants (par exemple, pour une stratégie de négociation qui choisirait de prendre une position acheteuse lorsque le ratio moyenne/écart-type est à -2, ou l'inverse). Alors que sigComparison et sigCrossover traitent de quantités généralement basées sur un indicateur dont les valeurs se situent dans le même ordre de grandeur que les prix, sigThreshold existe précisément pour couvrir les situations où les indicateurs prennent des valeurs qui ne sont pas comparables aux prix.

De plus, la fonction sigThreshold() accepte l'argument cross, qui précise si elle se comporte comme sigComparison (cross = FALSE) ou comme sigCrossover (cross = TRUE). Dans cet exercice, vous allez mettre en œuvre une variante de sigThreshold qui se comporte comme sigComparison.

Votre tâche sera d'implanter un sigThreshold qui vérifie si DVO_2_126 est inférieur à 20. Ce signal servira de l'un des deux déclencheurs qui doivent être « activés » pour entrer en position acheteuse dans la stratégie.

Cette activité fait partie du cours

Négociation financière en R

Voir le cours

Instructions de l’exercice

  • 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 ce code d’exemple.

# 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