用户输入 EMA 和交叉

User Input EMA and Cross

我想构建一个脚本,允许用户输入 5 个不同的 EMA,并在任何 EMA 相互重叠时在图表上绘制十字。让用户能够 select/unselect 跨越任何 5 个 EMAS。 例如:输入的 EMA 为 5,9,13,50,200。然后,如果他想看到 5 和 9、5 和 13、5 和 50、5 和 200 等等之间的交叉,它将允许用户 select。下面的脚本在 5 到 13 之间执行,但没有能力 select/unselect 是否应该出现交叉。

  //@version=3
study(title="EMA Cross 5/13", overlay=true)
short = ema(close, 5)
long = ema(close, 13)
plot(short, color = red)
plot(long, color = blue)
plot(cross(short, long) ? short : na, style = cross, linewidth = 4)
//@version=4
study(title="Help (EMA Cross)", overlay=true)
sl = input(defval=5,    title="Short length", type=input.integer, options=[5, 9, 13, 50, 200])
ll = input(defval=13,   title="Long length",  type=input.integer, options=[5, 9, 13, 50, 200])
cr = input(defval=true, title="Show cross",   type=input.bool)

short = ema(close, sl)
long  = ema(close, ll)
plot(short, color = color.red)
plot(long, color = color.blue)
plot(cross(short, long) and cr ? short : na, style = plot.style_cross, linewidth = 4)