仅当 rsi 为 overbought/oversold 时绘制蜡烛图
Plot candles ONLY if the rsi is overbought/oversold
我试图仅在 rsi 为 overbought/oversold 时绘制红色蜡烛,似乎我所做的一切都收到错误消息。这就是我所拥有的,并且到目前为止已经尝试过
///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)
我确定这是一个明显的解决方法,但我不知道该怎么做。感谢您的帮助!
在第 8 行中,您在行尾有一个撇号,这将 return 出错。
您不需要 test2
或 test3
中的 if
,您使用 test1
正确地做到了。
使用布尔值时不能使用比较运算符(脚本中的downbar
),而且Overbought
不是布尔值而是输入。
最后,bgcolor
将为图表背景着色,而不是蜡烛图,您想使用 barcolor
代替。
这个脚本应该做你想做的。
//@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)
我试图仅在 rsi 为 overbought/oversold 时绘制红色蜡烛,似乎我所做的一切都收到错误消息。这就是我所拥有的,并且到目前为止已经尝试过
///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)
我确定这是一个明显的解决方法,但我不知道该怎么做。感谢您的帮助!
在第 8 行中,您在行尾有一个撇号,这将 return 出错。
您不需要 test2
或 test3
中的 if
,您使用 test1
正确地做到了。
使用布尔值时不能使用比较运算符(脚本中的downbar
),而且Overbought
不是布尔值而是输入。
最后,bgcolor
将为图表背景着色,而不是蜡烛图,您想使用 barcolor
代替。
这个脚本应该做你想做的。
//@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)