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
Instructions de l’exercice
- Utilisez
add.signal()pour créer un signalsigFormulaqui est vrai lorsquelongfilteretlongthresholdsont 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 = "___")