ПочатиПочніть безкоштовно

Поєднання сигналів — II

У попередній вправі ви наблизили сигнал sigFormula, порівнявши значення двох інших сигналів. У цій фінальній вправі ви підете на крок далі та скористаєтеся функцією sigFormula() для створення сигналу sigFormula.

Мета проста: ви хочете входити в позицію, коли і longfilter, і longthreshold одночасно стають істинними. Ідея така: ви не хочете входити в позицію щоразу, коли умови залишаються істинними, але хочете утримувати позицію під час відкату в умовах висхідного тренду.

Написати sigFormula так само просто, як записати аргумент «if-виразу» в базовому R усередині функції formula(). У цьому випадку потрібно створити сигнал з міткою longentry, який є істинним, коли і longfilter, і longthreshold одночасно переходять у значення TRUE.

Після завершення цієї вправи ви матимете повне уявлення про те, як працюють сигнали в quantstrat!

Ця вправа є частиною курсу

Фінансовий трейдинг в R

Переглянути курс

Інструкції до вправи

  • Використайте add.signal(), щоб створити сигнал sigFormula, який є істинним, коли і longfilter, і longthreshold істинні.
  • Встановіть cross рівним TRUE.
  • Позначте цей новий сигнал як longentry.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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 = "___")
Редагувати та запускати код