addRSI 图的 Y 尺度 [Quantmod]

Y-scale of addRSI graph [Quantmod]

使用 Quantmod,我可以使用 addRSI() 绘制股票数据的 RSI,但是绘图的 y 尺度不可调整,我需要的是像任何正常情况一样将 y 尺度调整到 0 - 100 的能力RSI 图确实如此。

addRSI(n = 14) %>% print

然而,在使用以下逻辑绘制 RSI 后,弹出错误消息,我不知道如何设置 RSI() 的价格参数,因为文档没有指定的确切含义这个参数。

print(addTA(RSI(price = 100, n = 14), yrange = c(0,100)))

有什么解决方案可以让我用 0 - 100 的 y 尺度绘制 RSI?

您可以使用 addTAyrange 选项,而不是使用 addRSI,它出于某种原因具有基于值的固定范围。

使用 quantmod:

library(quantmod)

goog <- getSymbols("GOOGL", from = "2019-01-01", auto.assign = F)
rsi <- RSI(goog$GOOGL.Close)

chartSeries(goog, TA = NULL)
addTA(rsi, yrange = c(0, 100))

或者 quantmod 的 chart_Series 函数。这会在 0-100 范围内添加 rsi,但不会仅显示 70 和 30 处的标签。

chart_Series(goog)
add_RSI()

使用 rtsplot(直接来自帮助的代码):以 20 为步长显示从 0 到 100 的 rsi 范围,并突出显示 0-30 和 70-100 波段。

library(rtsplot)
layout(c(1,1,1,2))
rtsplot(goog, type = "candle")
rtsplot(rsi, type = 'l', ylim=c(0,100),
        y.highlight = c(c(0,30), c(70,100)),
        y.highlight.col = grDevices::adjustcolor(c('green','red'), 50/255)
)