Pine script 用与特定条相同的闭合标记条';很接近

Pine script 用与特定条相同的闭合标记条';很接近,pine-script,Pine Script,我已经尝试了很多不同的方法,使用line.new和line.get的这种方法是我得到的最接近的方法。如果我可以调整这个方法,那很好,或者如果有一个完全不同的方法,那也很好。谢谢 目标是将最后200个酒吧的收盘价与最近的收盘价(不是实时酒吧,而是最近的历史酒吧)进行比较。我想突出显示所有具有与最近收盘相同收盘时间的条形图。在所附的图片中,您可以看到实时条被标记为b/c,其关闭当前符合标准(但我不关心该标准),但还有几个其他条应该被标记(参见我手动绘制的箭头),因为它们与最近的关闭具有相同的关闭 s

我已经尝试了很多不同的方法,使用line.new和line.get的这种方法是我得到的最接近的方法。如果我可以调整这个方法,那很好,或者如果有一个完全不同的方法,那也很好。谢谢

目标是将最后200个酒吧的收盘价与最近的收盘价(不是实时酒吧,而是最近的历史酒吧)进行比较。我想突出显示所有具有与最近收盘相同收盘时间的条形图。在所附的图片中,您可以看到实时条被标记为b/c,其关闭当前符合标准(但我不关心该标准),但还有几个其他条应该被标记(参见我手动绘制的箭头),因为它们与最近的关闭具有相同的关闭

study("t1t2_020920", overlay=true)

CloseLineFunc() =>
    if (barstate.islast)
        closeline = line.new(bar_index[200],close[1],bar_index[1],close[1])
        closeline

CloseLineFunc()
a=CloseLineFunc()

x1 = line.get_x1(a)  // Returns UNIX time or bar index (depending on the last xloc value set) of the first point of the line
x2 = line.get_x2(a) // Returns UNIX time or bar index (depending on the last xloc value set) of the second point of the line
y1 = line.get_y1(a) // Returns price of the first point of the line
y2 = line.get_y2(a) // Returns price of the second point of the line

// plot(x1)
// plot(x2)
// plot(y1)
// plot(y2)


check = close == y2
plotchar(check, char='*', color=color.green, size=size.normal)
``

我也认为这会起作用,但我得到了一个结果。棘手的部分是计算如何在图表左侧的计算中使用最近收盘价的值,不包括实时条形图,然后在每次打印新条形图时以这种方式重新计算研究

study("My Script", overlay=true)

lineprice = valuewhen(barstate.islast,close[1],0)

plot(lineprice)

check = sma(close,1) == lineprice
plotchar(check, char='*', color=color.green, size=size.normal)``

我想,应该是这样的:

//@version=4
study("My Script", overlay=true)

MAX_LABELS = 40
if barstate.islast
    labersNum = 0
    for i = 1 to 4999
        if close[i] == close
            label.new(time[i], high[i], xloc=xloc.bar_time, yloc=yloc.abovebar, style=label.style_arrowdown)
            labersNum := labersNum + 1
            if labersNum >= MAX_LABELS
                break

应该调整脚本以支持最后一个非实时条,并在有新条的情况下更改标签,但我认为这个脚本已经足够开始了。

做得很好。谢谢你的帮助。通过将
close[I]==close
更改为
close[I]==close[1]
,我可以让它使用上一条而不是当前条的close。问题是,无论什么情况,当打印新的条时,研究都会抛出一个服务器错误。我认为barstate可能是这里的关键。删除该条件后,不会出现错误,但会停止计算新条。我将继续修补它。。。