CommencezCommencez gratuitement

Combiner des signaux - II

Dans l'exercice précédent, vous avez approximé un signal sigFormula en comparant la valeur de deux autres signaux. Dans cet exercice final, vous irez un peu plus loin en utilisant la fonction sigFormula() pour générer un signal sigFormula.

L'objectif de cet exercice est simple. Vous voulez entrer en position lorsque longfilter et longthreshold deviennent vrais en même temps. L'idée est la suivante : vous ne voulez pas continuer d'entrer en position tant que les conditions demeurent vraies, mais vous voulez tenir une position lorsqu'il y a un repli dans un contexte haussier.

Écrire une fonction sigFormula revient à rédiger l'argument d'un « if statement » dans R de base à l'intérieur de la fonction formula(). Dans ce cas-ci, vous voulez créer un signal nommé longentry, qui est vrai lorsque longfilter et longthreshold passent tous les deux à vrai simultanément.

Une fois cet exercice terminé, vous aurez un tour d'horizon complet du fonctionnement des signaux dans quantstrat !

Cette activité fait partie du cours

Négociation financière en R

Voir le cours

Instructions de l’exercice

  • Utilisez add.signal() pour créer un signal sigFormula qui est vrai lorsque longfilter et longthreshold sont tous les deux vrais.
  • Assignez cross à TRUE.
  • Nommez ce nouveau signal longentry.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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