Combinando sinais - II
No exercício anterior, você aproximou um sinal sigFormula comparando o valor de dois outros sinais. Neste exercício final, você vai dar mais um passo usando a função sigFormula() para gerar um sinal sigFormula.
O objetivo deste exercício é simples. Você quer entrar em uma posição quando longfilter e longthreshold se tornarem verdadeiros ao mesmo tempo. A ideia é: você não quer continuar entrando em posição enquanto as condições permanecerem verdadeiras, mas quer manter uma posição quando houver um pullback em um ambiente de tendência de alta.
Escrever uma função sigFormula é tão simples quanto escrever o argumento de uma "instrução if" no R base dentro da função formula(). Neste caso, você quer criar um sinal chamado longentry, que é verdadeiro quando longfilter e longthreshold cruzam para verdadeiro ao mesmo tempo.
Quando você concluir este exercício, terá uma visão completa de como os sinais funcionam no quantstrat!
Este exercício faz parte do curso
Negociação financeira em R
Instruções do exercício
- Use
add.signal()para criar um sinalsigFormulaque seja verdadeiro quandolongfilterelongthresholdforem verdadeiros. - Defina
crossigual aTRUE. - Rotule este novo sinal como
longentry.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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 = "___")