我有以下问题:
我在Tradingview中编码了一个RSI-Signal指标 . 在设置中,可以定义"long-area"(标准值为30)和"short-area"(标准值为70) .
当RSI进入/穿过30区域时,指示器显示绿色背景颜色,当RSI进入/穿过70区域时,指示器显示红色背景颜色 . 到现在为止还挺好 .

指示器现在应该交替显示 only one long 信号 - 第一个30交叉 - ,然后是 one shor t信号 - 第一个70交叉 - ,然后是一个长信号(短信号后的第一个长交叉),等等 . 例如:第一个长信号, but not possible subsequent long signals (RSI可以连续几次在长区域上下交叉) . 下一个信号必须是一个短信号( but not possible subsequent short signals ),下一个信号必须是一个长信号,依此类推,如长区和短区之间的"ping-pong" . 此时,指示器产生每个长信号,当RSI在长区域(30)周围振荡并且多次进入30区域时,以及当RSI在70区域附近振荡时,每个短信号 .

study(title="RSI D Signals", shorttitle="RSI D Signals", precision=0)

sLine = input(70, minval=50, maxval=90, title="Short Area")
lLine = input(30, minval=10, maxval=50, title="Long Area?")
len = input(14, minval=1, title="RSI Length")

RSI = rsi(close, len)
lsignal = RSI[1] >  lLine and RSI < lLine ? 1 : 0 //
ssignal = RSI[1] <  sLine and RSI > sLine ? 1 : 0

//Drawing
bgcolor(lsignal ? green : na, transp=0, title="Long Signal")
bgcolor(ssignal ? red : na, transp=0, title="Short Signal")
plot(RSI, style=line, linewidth=2, color=black, transp=0, title="RSI")