Combinarea semnalelor - II
În exercițiul anterior, ai aproximat un semnal sigFormula comparând valorile a două semnale. În acest exercițiu final, vei merge mai departe și vei folosi funcția sigFormula() pentru a genera un semnal sigFormula.
Scopul acestui exercițiu este simplu. Vrei să intri într-o poziție atunci când atât longfilter, cât și longthreshold devin adevărate în același timp. Ideea este următoarea: nu vrei să continui să intri în poziție atâta timp cât condițiile rămân adevărate, dar vrei să menții o poziție când apare o retragere într-un mediu cu tendință ascendentă.
Scrierea unei funcții sigFormula este la fel de simplă ca scrierea argumentului unei instrucțiuni „if" din R de bază în interiorul funcției formula(). În acest caz, vrei să creezi un semnal etichetat longentry, care este adevărat atunci când atât longfilter, cât și longthreshold trec la adevărat în același timp.
Odată ce finalizezi acest exercițiu, vei avea o imagine completă asupra modului în care funcționează semnalele în quantstrat!
Acest exercițiu face parte din cursul
Tranzacționare financiară în R
Instrucțiuni pentru exercițiu
- Folosește
add.signal()pentru a crea un semnalsigFormulacare este adevărat atunci când atâtlongfilter, cât șilongthresholdsunt adevărate. - Setează
crossla valoareaTRUE. - Etichetează acest nou semnal ca
longentry.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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 = "___")