hline 在 PineScript 中无法正常工作

hline doesn't work as expected in PineScript

下面的代码如何工作:

//@version=3
study("My Script", overlay=true)
price = (ticker == "EURUSD" ? 1.1600 : 1.1500)
hline(1.1500, title='Pi', color=blue, linestyle=dotted, linewidth=2)
plot(price)

但事实并非如此:

//@version=3
study("My Script", overlay=true)
price = (ticker == "EURUSD" ? 1.1600 : 1.1500)
hline(price, title='Pi', color=blue, linestyle=dotted, linewidth=2)
plot(price)

唯一的区别是 hline 参数使用了一个变量。

嗯,hline() 的想法是在 固定 价格处有一条水平线。如果您对 price 参数使用 变量 ,则它是 而不是 "固定”了。因为变量在 运行 时间内可以有不同的值。因此,您不能使用变量。

解决方法

line hLine = line.new(
      x1     = bar_index-1, 
      y1     = price,
      x2     = bar_index,
      y2     = price,
      xloc   = xloc.bar_index,
      color  = color.blue,
      extend = extend.both,
      style  = line.style_dotted,
      width  = 2)
line.delete(hLine[1])