我跟进几个股票价格。感谢Vincent Zoonekynd(https://stackoverflow.com/users/1129973/vincent-zoonekynd),我能够在一个页面中绘制多个图表。现在,我想为每个图表添加20天和200天的单一移动平均线,但重复图表。我的代码是
library(quantmod)
end <- Sys.Date()
start <- end - 365
stocks <- c("GOOG", "INTC", "AAPL")
stocksts <- list()
i <- 1
for(stock in stocks){
stocksts[[i]] <- getSymbols(stock
, src = "yahoo"
, from = start
, to = end
,auto.assign = FALSE
, return.class = "xts")
i <- i+1
}
par(mfcol=c(3,1), oma=c(1,1,0,0), mar=c(1,1,1,0), tcl=-0.1, mgp=c(0,0,0))
for (i in 1:length(stocksts)){
chartSeries(na.omit(scale(stocksts[[i]]))
,"candlesticks"
,name = names(df)
,TA = NULL
, layout = NULL
, yrange = c(-3,3)
)
addSMA(n = 20, col = "green")
addSMA(n = 200, col = "red")
}
您能否建议我如何打印烛台和SMA图表以避免重复?
鉴于您设置的框架,我认为这正是您所寻找的,
我建议你看看https://stackoverflow.com/a/37873283/9555388,这可能会帮助你改善设置......
1:设置
library(quantmod)
end <- Sys.Date()
start <- end - 365
stocks <- c("GOOG", "INTC", "AAPL")
stocksts <- list()
i <- 1
for(stock in stocks){
stocksts[[i]] <- getSymbols(stock
, src = "yahoo"
, from = start
, to = end
,auto.assign = FALSE
, return.class = "xts")
i <- i+1
}
2:添加SMA并一次性绘制数据的新方法
par(mfcol=c(3,1), oma=c(1,1,0,0), mar=c(1,1,1,0), tcl=-0.1, mgp=c(0,0,0))
for (i in 1:length(stocksts)){
price=Cl(stocksts[[i]])
newSMA <- newTA(SMA, Cl, on=NA)
print(chart_Series(price, TA = 'add_TA(SMA(price, 20), on = 1, col = "green"); add_TA(SMA(price, 200), on = 1, col = "red")', yrange = c(-3,3)))
}