Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Ange argumenten i add.rule() för att implementera din nya entregaregel.
  • Regeln ska aktiveras när signalen longentry är lika med TRUE.
  • Regeln ska köpa 1 andel av en tillgång som en "market"-order.
  • Regelns sida ska vara long och replace ska vara FALSE.
  • Regeln ska köpa nästa dags Open efter 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 = "___")
Redigera och kör kod