通过脚本将 EMA 放入 RSI 指标中,而不是通过添加指标函数?

问题描述

我喜欢在 EMA 中编写带有 RSI 的脚本。 两个简单的脚本都在为自己工作。但总的来说,我在 EMA 的源头上失败了。

//@version=4
study(title="Relative Strength Index",shorttitle="RSI",format=format.price,precision=2,resolution="")

//RSI
len = input(14,minval=1,title="Length")
src = input(close,"Source",type = input.source)
up = rma(max(change(src),0),len)
down = rma(-min(change(src),len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi,"RSI",color=#8E1599)
band1 = hline(70,"Upper Band",color=#C0C0C0)
band0 = hline(30,"Lower Band",color=#C0C0C0)
fill(band1,band0,color=#9915FF,transp=90,title="Background")

//EMA55
lenE55 = input(55,title="Length EMA55")
srcE55 = input(<I want 'rsi' instead of 'close' here>,title="Source EMA55")
outE55 = ema(srcE55,lenE55)
plot(outE55,title="EMA55",color=#ffff00,linewidth=2,transp=13)

如果我只使用图表中的 RSI 脚本并选择“在 RSI 上添加指标/策略...”,我可以选择我的 EMA 指标(如脚本部分 //EMA55)。 在设置中,“源 EMA55”下的“输入”选项卡中将有(不仅仅是)典型的“关闭”。现在有了“RSI”(简称)——您还可以选择图表中的所有其他指标作为源和开盘价、最高价、最低价等!

如何在我的脚本中实现这一点? 如果我尝试在

中替换“关闭
srcE55 = input(close,title="Source EMA55"

使用“rsi”——甚至使用“RSI”——这毫无意义,因为我现在在脚本中——我最终会出错。 我不明白如何使用 RSI 部分作为 EMA 部分的基础来源。

我不在乎是否只需要为另一个指标使用 add 函数,但我的目标是能够使用填充函数或设计我的认指标集,而无需为我的最终结果添加其他指标。

解决方法

不要恐慌和思考逻辑,你的建议中有答案:

srcE55 = input(<I want 'rsi' instead of 'close' here>,title="Source EMA55")

只需将 EMA 源 close 更改为您的 rsi 源。

//@version=4
study(title="Relative Strength Index",shorttitle="RSI",format=format.price,precision=2,resolution="")

//RSI
len = input(14,minval=1,title="Length")
src = input(close,"Source",type = input.source)
up = rma(max(change(src),0),len)
down = rma(-min(change(src),len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi,"RSI",color=#8E1599)
band1 = hline(70,"Upper Band",color=#C0C0C0)
band0 = hline(30,"Lower Band",color=#C0C0C0)
fill(band1,band0,color=#9915FF,transp=90,title="Background")

//EMA55
lenE55 = input(55,title="Length EMA55")
srcE55 = rsi //use rsi as source instead of close
outE55 = ema(srcE55,lenE55) //just change the `close` source with `rsi` source
plot(outE55,title="EMA55",color=#ffff00,linewidth=2,transp=13)

enter image description here