R 如何在quantmod的addMACD中更改颜色

R 如何在quantmod的addMACD中更改颜色,r,quantmod,R,Quantmod,我是R和quantmod的新手,谢谢你的帮助。 我想在quantmod中更改mace图的颜色 library(quantmod) getSymbols("AAPL") chartSeries(AAPL) addMACD() # this works 但是 addMACD(col=c('red'、'blue'、'green'、'black')得到以下错误 addMACD(col=c('red','blue,yellow')) ifelse((macd[,1]-macd[,2])>0,列[1]

我是R和quantmod的新手,谢谢你的帮助。 我想在quantmod中更改mace图的颜色

library(quantmod)
getSymbols("AAPL")
chartSeries(AAPL)
addMACD()   # this works
但是 addMACD(col=c('red'、'blue'、'green'、'black')得到以下错误

addMACD(col=c('red','blue,yellow')) ifelse((macd[,1]-macd[,2])>0,列[1],列[2])中的错误: 替换长度为零 此外:警告信息: 输入代表(是,length.out=长度(ans)): “x”为空,因此结果将为空

根据quantmod的手册,addMACD具有颜色选项


Thx.

这似乎是
addMACD
函数中的一个错误

如果您查看其源代码(例如,使用
fix(addMACD)
),您将看到它确实:

col <- if (missing(col)) 
        col <- c("#999999", "#777777", "#BBBBBB", "#FF0000")
或者干脆将它们全部删除,并为
col
指定一个默认值,该函数将按预期工作


您可能想看看这一点(以及相关的讨论),了解如何在R中编辑函数:

太好了!不仅addMACD可以工作,而且addTA(stoch(kdj,nFastK=9,nFastD=3,nSlowD=3,maType='EMA'),on=NA,col=c('red','blue','black'))也可以工作。Thx。
if (missing(col)) 
        col <- c("#999999", "#777777", "#BBBBBB", "#FF0000")