Поєднання сигналів — 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 = "___")