Använda add.rule() för att implementera en entregaregel
Utmärkt! Du har nu bemästrat alla delar av regelbyggnadsprocessen i quantstrat. Hittills har du lagt till regler steg för steg – nu är det dags att sätta ihop allt och se hur väl du har tagit till dig materialet i det här kapitlet.
Motpolen till en exitregel är en entregaregel. För entregareglar kan orderqty inte sättas till "all", eftersom det inte finns någon befintlig position att agera på. I den här övningen implementerar du en entregaregel som refererar till signalen longentry i din strategi och köper en andel av en tillgång.
Den här övningen är en del av kursen
Finansiell handel i R
Övningsinstruktioner
- Ange argumenten i
add.rule()för att implementera din nya entregaregel. - Regeln ska aktiveras när signalen
longentryär lika medTRUE. - Regeln ska köpa
1andel av en tillgång som en"market"-order. - Regelns sida ska vara
longoch replace ska varaFALSE. - Regeln ska köpa nästa dags
Openefter att en signal har observerats.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Create an entry rule of 1 share when all conditions line up to enter into a position
add.rule(strategy.st, name = "ruleSignal",
# Use the longentry column as the sigcol
arguments=list(sigcol = "___",
# Set sigval to TRUE
sigval = ___,
# Set orderqty to 1
orderqty = ___,
# Use a market type of order
ordertype = "___",
# Take the long orderside
orderside = "___",
# Do not replace other signals
replace = ___,
# Buy at the next day's opening price
prefer = "___"),
# This is an enter type rule, not an exit
type = "___")