Combinando señales - II
En el ejercicio anterior, aproximaste una señal sigFormula comparando el valor de otras dos señales. En este ejercicio final, irás un paso más allá usando la función sigFormula() para generar una señal sigFormula.
El objetivo es sencillo: quieres abrir una posición cuando longfilter y longthreshold se vuelvan verdaderas a la vez. La idea es la siguiente: no quieres seguir entrando en una posición mientras las condiciones sigan siendo verdaderas, pero sí quieres mantener una posición cuando haya un retroceso en un entorno alcista.
Escribir una función sigFormula es tan simple como escribir el argumento de una "sentencia if" de R base dentro de la función formula(). En este caso, quieres crear una señal llamada longentry, que sea verdadera cuando tanto longfilter como longthreshold crucen a verdadero al mismo tiempo.
¡Cuando termines este ejercicio, tendrás una visión completa de cómo funcionan las señales en quantstrat!
Este ejercicio forma parte del curso
Trading financiero en R
Instrucciones del ejercicio
- Usa
add.signal()para crear una señalsigFormulaque sea verdadera cuando tantolongfiltercomolongthresholdsean verdaderas. - Establece
crossigual aTRUE. - Etiqueta esta nueva señal como
longentry.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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 = "___")