Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Sys.setenv(TZ = "UTC")
- > currency("USD")
- [1] "USD"
- >
- > init_date <- "2015-12-31"
- >
- > start_date <- "2016-01-01"
- >
- > end_date <- "2016-01-05"
- >
- > init_equity <- 10000
- >
- > basic_symbols <- function() {
- + symbols <- c("Nasdaq_100_60m" when i take "QQQ" instead, it works!
- + )
- + }
- >
- > symbols <- basic_symbols()
- >
- >
- > strat.name <- "Bollinger.Band"
- >
- > rm.strat(strat.name)
- >
- > initPortf(strat.name,
- + symbols = symbols,
- + initDate = init_date)
- [1] "Bollinger.Band"
- >
- > initAcct(strat.name,
- + portfolios = strat.name,
- + initDate = init_date,
- + initEq = init_equity)
- [1] "Bollinger.Band"
- >
- > initOrders(portfolio = strat.name,
- + symbols = symbols,
- + initDate = init_date)
- >
- > addPosLimit(portfolio = strat.name,
- + symbol = symbols,
- + timestamp = start_date,
- + maxpos = 200,
- + longlevels = 2)
- >
- > strategy(strat.name, store = TRUE)
- >
- > strat <- getStrategy(strat.name)
- >
- > add.indicator(strategy = strat.name,
- + name = "BBands",
- + arguments = list(HLC = quote(HLC(mktdata)),
- + n = 20,
- + maType = "SMA",
- + sd = 2),
- + label = "BB.20.2")
- [1] "Bollinger.Band"
- >
- > add.signal(strat.name,
- + name="sigCrossover",
- + arguments = list(columns = c("Close", "up"),
- + relationship = "gt"),
- + label="Cl.gt.Upper.Band")
- [1] "Bollinger.Band"
- >
- > add.signal(strat.name,
- + name = "sigCrossover",
- + arguments = list(columns = c("Close", "dn"),
- + relationship = "lt"),
- + label = "Cl.lt.Lower.Band")
- [1] "Bollinger.Band"
- >
- > add.signal(strat.name,
- + name = "sigCrossover",
- + arguments = list(columns = c("High", "Low", "mavg"),
- + relationship = "op"),
- + label = "Cross.Mid")
- [1] "Bollinger.Band"
- >
- > add.rule(strategy = strat.name,
- + name = "ruleSignal",
- + arguments = list(sigcol = "Cl.gt.Upper.Band",
- + sigval = TRUE,
- + orderqty = -100,
- + ordertype = "market",
- + orderside = NULL,
- + threshold = NULL,
- + osFUN = osMaxPos),
- + type = "enter")
- [1] "Bollinger.Band"
- >
- > add.rule(strategy = strat.name,
- + name = "ruleSignal",
- + arguments = list(sigcol = "Cl.lt.Lower.Band",
- + sigval = TRUE,
- + orderqty = 100,
- + ordertype = "market",
- + orderside = NULL,
- + threshold = NULL,
- + osFUN = osMaxPos),
- + type = "enter")
- [1] "Bollinger.Band"
- >
- > add.rule(strategy = strat.name,
- + name = "ruleSignal",
- + arguments = list(sigcol = "Cross.Mid",
- + sigval = TRUE,
- + orderqty = "all",
- + ordertype = "market",
- + orderside = NULL,
- + threshold = NULL,
- + osFUN = osMaxPos),
- + label = "exitMid",
- + type = "exit")
- [1] "Bollinger.Band"
- >
- > applyStrategy(strategy = strat.name,
- + portfolios = strat.name)
- open high low close
- 2016-01-04 15:00:00 4889.875 4889.875 4883.476 4883.476
- 2016-01-04 16:00:00 4860.516 4860.573 4856.573 4856.573
- 2016-01-04 17:00:00 4872.452 4872.452 4868.901 4868.932
- 2016-01-04 18:00:00 4880.133 4881.719 4880.121 4881.706
- 2016-01-04 19:00:00 4883.815 4883.815 4880.608 4880.963
- 2016-01-04 20:00:00 4873.627 4873.750 4872.290 4872.293
- Error in if (length(j) == 0 || (length(j) == 1 && j == 0)) { :
- missing value where TRUE/FALSE needed
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement