addRSI图的Y比例[Quantmod]

时间:2019-03-20 07:43:46

标签: r plot charts shiny quantmod

使用Quantmod我可以使用addRSI()绘制权益数据的RSI,但是该图的y比例是不可调整的,而我需要的是像任何常规RSI图一样将y比例调整为0-100的能力会。

addRSI(n = 14) %>% print

enter image description here

但是,在使用以下逻辑绘制RSI之后,弹出错误消息,并且我对如何设置RSI()的price参数一无所知,因为文档未指定此参数的确切含义

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

enter image description here

有什么解决方案可以绘制y比例为0-100的RSI?

1 个答案:

答案 0 :(得分:0)

您可以使用addRSIaddTA选项,而不必使用yrange(由于某种原因,该值基于值具有固定范围)。

使用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函数。这样会将rsi添加到0-100范围内,但不会仅显示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)
)