Quantmod 振荡器

Quantmod Oscillators

利用 quantmod 包中的 chartSeries 函数,我想修改 RSI 振荡器。给定包含 OHLC 价格数据的 xts 对象,这是我正在使用的调用:

chartSeries(plot_report[, 1:4],
        name        = substr(ticker, 1, nchar(ticker) - 4),
        theme       = chartTheme('white.mono', grid.col = NA),
        TA          = c(addRSI(n = 14, maType = "SMA")),
        type        = "line",
        bar.type    = 'ohlc',
        major.ticks = 'months',
        show.grid   = FALSE,
        log.scale   = TRUE)

正在生成此图表:

我有四个问题:

  1. 如何将默认的蓝色更改为其他颜色?我试过:c(addRSI(n = 14, maType = "SMA", col = "black"))。但是,我收到 "unused argument" 错误。

  2. 我可以在振荡器面板上画水平线吗?传统 RSI 在 y 轴值为 70 处有一条水平红线,在 y 轴值为 30 处有一条水平绿线,表示 overbought/oversold 水平。

  3. 是否可以在图表下方绘制另一个计算作为振荡线?我有一些我想要可视化的专有振荡器,而不是 RSI 或 TTR 包中的任何指标。

  4. 我如何参与改进 quantmod 图表功能;这个项目正在积极维护吗?

  1. 你不能。您需要将 ... 添加到 addRSI 的参数中并修改函数体以适当地使用 ...。解决方法是手动计算 RSI,然后按照 Change line colors of technical indicators made by R quantmod TTR?.
  2. 的答案调用 addTA
  3. 使用addLines:

getSymbols("SPY"); chartSeries(SPY, TA="addRSI();addLines(h=c(30,70), on=2)")

  1. 对包含您的专有数据的对象使用 addTA
  2. 参见 quantmod's GitHub page。是的,它得到积极维护。最后一次更新是几个月前推送到 CRAN 的。