r - 如何使用 quantmod 在新图中叠加多个 TA?

标签 r quantmod

我们可以使用图表系列函数绘制蜡烛图 chartSeries(Cl(PSEC))我创建了一些自定义值( I1 I2 I3 ),我想将它们绘制在蜡烛图外(叠加模式)。我用过 addTA()以此目的

chartSeries(Cl(PSEC)), TA="addTA(I1,col=2);addTA(I2,col=3);addTA(I3,col=4)")

问题在于它为 绘制了四个图。 Cl(PSEC),I1,I2 I3 分开而不是我想要的两个图 Cl(PSEC) (I1,I2,I3)

已编辑

为清楚起见,我给出了一个示例代码,其中包含为此目的创建的 I1、I2 和 I3 变量
library(quantmod)
PSEC=getSymbols("PSEC",auto.assign=F)
price=Cl(PSEC)
I1=SMA(price,3)
I2=SMA(price,10)
I3=SMA(price,15)
chartSeries(price, TA="addTA(I1,col=2);addTA(I2,col=3);addTA(I3,col=4)")

最佳答案

如果我理解正确,您需要 SUBPLOT 中的 3 个 SMA,而不是主图表窗口中的 3 个 SMA。您可以使用 newTA 执行以下操作.
使用您的数据:

PSEC=getSymbols("PSEC",auto.assign=F)
price=Cl(PSEC)

现在在主窗口下方的窗口中绘制 10,30,50 日均线:
chartSeries(price['2016'])
newSMA <- newTA(SMA, Cl, on=NA)
newSMA(10)
newSMA(30,on=2)
newSMA(50,on=2)

关键是参数 on .使用 on = NA在定义新的 TA 函数时,因为 on 的默认值是1,也就是主窗口。 on = NA在新窗口中绘图。然后将剩余的 SMA 绘制到与第一个 SMA 相同的窗口。根据自己的喜好设计颜色等:-)。

enter image description here

关于r - 如何使用 quantmod 在新图中叠加多个 TA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37850165/

相关文章:

r - 如何在ggplot2中控制具有不同比例的多面图的ylim?

r - 在 R 中打印不重复的组合

r - 将非标准字符串日期转换为 R 中的日期对象

r - 计算 R growth of growth 中的 Credit Impulse

r - 在 ggplot 中按因子生成多个图

linux - 在 R 中执行 system() 后获取终端输出

r - 在 Quantmod 中的图表系列上绘制线条

r - getSymbols 未按预期返回数据

r - 在 Quantmod R 中添加多个图表系列