首页 > 解决方案 > R Quantmod chartSeries 无法添加TA

问题描述

这是一个非常奇怪的问题。让我们从这个非常简单的例子开始:

## ... some other code ...
chartSeries(y, theme='white',style="candlesticks", subset='last 12 months')
names(y) <- c("Open", "High", "Low", "Close", "Volume")
addEMA(n=3, col='red')      
addEMA(n=10,col='green')    
addEMA(n = 18, col = 'blue')
## ... other code ...

如果文件就像使用“源文件名.R”等一样,则会弹出一个图表,但没有绘制那些 addEMA 线。但是,当通过突出显示 addEMA 行并运行选定的行手动运行时,这些 addEMA() 行将起作用。

Linux 和 Windows 都看到了这个问题。

标签: rquantmod

解决方案


R 的交互模式和获取文件之间存在差异。这在 R 常见问题解答第 7 章中提到。有两种方法可以获得您想要的结果。

  1. addTA您可以将它们全部添加到调用中,而不是单独调用函数chartSeries

    chartSeries(y, theme='white',style="candlesticks", subset='last 12 months',
            TA = c(addEMA(n=3, col='red'), addEMA(n=10,col='green'), addEMA(n = 18, col = 'blue')))
    

获取时,这将为您提供与交互式运行代码时完全相同的结果。

  1. 源文件,但设置echo = TRUE.

    source("path_to_file/my_R_source_file.R", echo = TRUE)
    

采购时选项 1 更简洁,因为您的屏幕不会被所有代码行填满。


推荐阅读