ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Use add.signal() para criar um sinal sigFormula que seja verdadeiro quando longfilter e longthreshold forem verdadeiros.
  • Defina cross igual a TRUE.
  • 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 = "___")
Editar e executar o código