我正在尝试将 Rahul Mohindar 振荡器添加到 R
I am trying to add Rahul Mohindra Oscilator to R
我是 R 的初学者,最近试图创建一个交易算法(非常具有挑战性)并进行回测。问题是 TTR 和 Quantmod 没有我需要的功能,所以我尝试创建了它。所以我在一个网站上找到了这个功能,但不是用 R 语言,而是一个叫做 Pine 的。
公式称为RMO(Rahul Mohindra Oscillator):这是我找到的Pine语言公式:
Raul Mohindra Oscillator
study(title = "Rahul Mohinder Oscillator", shorttitle="RMO_LB")
C=close
cm2(x) => sma(x,2) #sma simple moving average#
ma1=cm2(C)
ma2=cm2(ma1)
ma3=cm2(ma2)
ma4=cm2(ma3)
ma5=cm2(ma4)
ma6=cm2(ma5)
ma7=cm2(ma6)
ma8=cm2(ma7)
ma9=cm2(ma8)
ma10=cm2(ma9)
SwingTrd1 = 100 * (close - ( ma1+ma2+ma3+ma4+ma5+ma6+ma7+
ma8+ma9+ma10)/10)/(highest(C,10)-lowest(C,10))
SwingTrd2=ema(SwingTrd1,30) #ema exponential moving average#
SwingTrd3=ema(SwingTrd2,30)
RMO= ema(SwingTrd1,81)
Buy=cross(SwingTrd2,SwingTrd3)
Sell=cross(SwingTrd3,SwingTrd2)
Bull_Trend=ema(SwingTrd1,81)>0
Bear_Trend=ema(SwingTrd1,81)<0
Ribbon_kol=Bull_Trend ? green : (Bear_Trend ? red : blue)
Impulse_UP= SwingTrd2 > 0
Impulse_Down= RMO < 0
bar_kol=Impulse_UP ? green : (Impulse_Down ? red : (Bull_Trend ? green : blue))
bgcolor(Ribbon_kol)
plot(RMO,color=bar_kol, style=histogram)
hline(0)
我在最后一部分苦苦挣扎,该函数应绘制绿色牛市趋势和红色熊市趋势中指示的计算直方图。我没能把它翻译成 R 语言。
这是我目前拥有的:
RMO <- function(x) {
ma1 <- SMA(x,2)
ma2 <- SMA(ma1,2)
ma3 <- SMA(ma2,2)
ma4 <- SMA(ma3,2)
ma5 <- SMA(ma4,2)
ma6 <- SMA(ma5,2)
ma7 <- SMA(ma6,2)
ma8 <- SMA(ma7,2)
ma9 <- SMA(ma8,2)
ma10 <- SMA(ma9,2)
SwingTrd1 <- 100 * (x - (ma1+ma2+ma3+ma4+ma5+ma6+ma7+ma8+ma9+ma10)/10)/(max(x,10)-min(x,10))
SwingTrd2 <- EMA(SwingTrd1,30)
SwingTrd3 <- EMA(SwingTrd2,30)
RMO <- EMA(SwingTrd1,81)
Bull_Trend <- RMO < 0
Bear_Trend <- RMO > 0
感谢您的宝贵时间!!!
凯莉安·帕特耶
已解决,R 中的 RMO 公式
RMO <- function(x) {
ma1 <- SMA(x,2)
ma2 <- SMA(ma1,2)
ma3 <- SMA(ma2,2)
ma4 <- SMA(ma3,2)
ma5 <- SMA(ma4,2)
ma6 <- SMA(ma5,2)
ma7 <- SMA(ma6,2)
ma8 <- SMA(ma7,2)
ma9 <- SMA(ma8,2)
ma10 <- SMA(ma9,2)
SwingTrd1 <- 100 * (x - (ma1+ma2+ma3+ma4+ma5+ma6+ma7+ma8+ma9+ma10)/10)/(max(x,10)-min(x,10))
STC <- SwingTrd1 + 20
SwingTrd2 <- (EMA(STC,30))
SwingTrd3 <- EMA(SwingTrd2,30)
RMO <- EMA(SwingTrd1,81)
plot(RMO, type = "h")
abline(SwingTrd2, col = "blue")
abline(SwingTrd3, col = "red")
}
希望对我很有帮助!!
我是 R 的初学者,最近试图创建一个交易算法(非常具有挑战性)并进行回测。问题是 TTR 和 Quantmod 没有我需要的功能,所以我尝试创建了它。所以我在一个网站上找到了这个功能,但不是用 R 语言,而是一个叫做 Pine 的。
公式称为RMO(Rahul Mohindra Oscillator):这是我找到的Pine语言公式:
Raul Mohindra Oscillator
study(title = "Rahul Mohinder Oscillator", shorttitle="RMO_LB")
C=close
cm2(x) => sma(x,2) #sma simple moving average#
ma1=cm2(C)
ma2=cm2(ma1)
ma3=cm2(ma2)
ma4=cm2(ma3)
ma5=cm2(ma4)
ma6=cm2(ma5)
ma7=cm2(ma6)
ma8=cm2(ma7)
ma9=cm2(ma8)
ma10=cm2(ma9)
SwingTrd1 = 100 * (close - ( ma1+ma2+ma3+ma4+ma5+ma6+ma7+
ma8+ma9+ma10)/10)/(highest(C,10)-lowest(C,10))
SwingTrd2=ema(SwingTrd1,30) #ema exponential moving average#
SwingTrd3=ema(SwingTrd2,30)
RMO= ema(SwingTrd1,81)
Buy=cross(SwingTrd2,SwingTrd3)
Sell=cross(SwingTrd3,SwingTrd2)
Bull_Trend=ema(SwingTrd1,81)>0
Bear_Trend=ema(SwingTrd1,81)<0
Ribbon_kol=Bull_Trend ? green : (Bear_Trend ? red : blue)
Impulse_UP= SwingTrd2 > 0
Impulse_Down= RMO < 0
bar_kol=Impulse_UP ? green : (Impulse_Down ? red : (Bull_Trend ? green : blue))
bgcolor(Ribbon_kol)
plot(RMO,color=bar_kol, style=histogram)
hline(0)
我在最后一部分苦苦挣扎,该函数应绘制绿色牛市趋势和红色熊市趋势中指示的计算直方图。我没能把它翻译成 R 语言。
这是我目前拥有的:
RMO <- function(x) {
ma1 <- SMA(x,2)
ma2 <- SMA(ma1,2)
ma3 <- SMA(ma2,2)
ma4 <- SMA(ma3,2)
ma5 <- SMA(ma4,2)
ma6 <- SMA(ma5,2)
ma7 <- SMA(ma6,2)
ma8 <- SMA(ma7,2)
ma9 <- SMA(ma8,2)
ma10 <- SMA(ma9,2)
SwingTrd1 <- 100 * (x - (ma1+ma2+ma3+ma4+ma5+ma6+ma7+ma8+ma9+ma10)/10)/(max(x,10)-min(x,10))
SwingTrd2 <- EMA(SwingTrd1,30)
SwingTrd3 <- EMA(SwingTrd2,30)
RMO <- EMA(SwingTrd1,81)
Bull_Trend <- RMO < 0
Bear_Trend <- RMO > 0
感谢您的宝贵时间!!!
凯莉安·帕特耶
已解决,R 中的 RMO 公式
RMO <- function(x) {
ma1 <- SMA(x,2)
ma2 <- SMA(ma1,2)
ma3 <- SMA(ma2,2)
ma4 <- SMA(ma3,2)
ma5 <- SMA(ma4,2)
ma6 <- SMA(ma5,2)
ma7 <- SMA(ma6,2)
ma8 <- SMA(ma7,2)
ma9 <- SMA(ma8,2)
ma10 <- SMA(ma9,2)
SwingTrd1 <- 100 * (x - (ma1+ma2+ma3+ma4+ma5+ma6+ma7+ma8+ma9+ma10)/10)/(max(x,10)-min(x,10))
STC <- SwingTrd1 + 20
SwingTrd2 <- (EMA(STC,30))
SwingTrd3 <- EMA(SwingTrd2,30)
RMO <- EMA(SwingTrd1,81)
plot(RMO, type = "h")
abline(SwingTrd2, col = "blue")
abline(SwingTrd3, col = "red")
}
希望对我很有帮助!!