我试图绘制红色的蜡烛,只有当rsi是超买/超卖时,似乎我所做的每一件事都会收到错误信息。这就是我所拥有的,并且到目前为止已经尝试过了
///RSI///
Length = input(title="rsi_L", type=input.integer, defval=14)'
Overbought = input(title="OB",defval=80)
Oversold = input(title="OS", defval=20)
rsi = rsi(close, Length)
plot(rsi, title="rsi", linewidth=1, color=color.orange, transp=0)
hline(Overbought, title="OB", linewidth=1, color=color.white, linestyle=hline.style_solid)
hline(Oversold, title="OS", linewidth=1, color=color.white, linestyle=hline.style_solid)
///Downbar///
downbar = close < open
///What I've Tried///
test1 = downbar and Overbought ? color.red : color.black
bgcolor(test1, transp=0)
test2 = if downbar >= Overbought ? color.red : color.black
bgcolor(test2, transp=0)
test3 = if downbar and Overbought ? color.red : color.black
bgcolor(test3, transp=0)我确信这是一个显而易见的解决办法,但我不知道该怎么做。如有任何帮助,我们不胜感激!
发布于 2020-07-26 21:27:19
在第8行中,在行尾有一个撇号,这将返回一个错误。
在test2或test3中你不需要if,你可以用test1正确地做到这一点。
在使用布尔值(脚本中的downbar)时不能使用比较运算符,而且Overbought不是布尔值,而是一个输入。
最后,如果您希望使用barcolor,bgcolor将为图表背景着色,而不是为蜡烛着色。
此脚本应该可以执行您想要的操作。
//@version=4
study("My Script")
///RSI///
Length = input(title="rsi_L", type=input.integer, defval=14)
Overbought = input(title="OB",defval=80)
Oversold = input(title="OS", defval=20)
rsi = rsi(close, Length)
plot(rsi, title="rsi", linewidth=1, color=color.orange, transp=0)
hline(Overbought, title="OB", linewidth=1, color=color.white, linestyle=hline.style_solid)
hline(Oversold, title="OS", linewidth=1, color=color.white, linestyle=hline.style_solid)
barcolor(close < open and rsi > Overbought ? #ff1100 : na)https://stackoverflow.com/questions/63095301
复制相似问题