获取从最后一个条件到现在的最低价格松脚本

Get the Lowest price from last condition till now pine script

我想找到从黄色蜡烛到白色蜡烛(相隔 75 根蜡烛)的最低价格

黄色条 = 最后一个条件

白色条 = 现在发生的情况

我使用了一些我不知道是对还是错的代码。请帮忙

// The problem with this code (barssince)is when the white bar happens it zeros the plot 
because the Long_Condition happens in that candle so it zeros the amount i want to use


since = barssince(Long_Condition)
lowest_price = lowest(since)

现在绘图有一些问题:

问题 1

plot(since , title = "bars back" , color = color.blue)

在所附图片中,您可以看到蓝色图将正在计数的数量归零 最后一根蜡烛给出了 74,然后当我想得到 75 时它给出了零。(从黄色条到白色条是 75 根蜡烛) 并且下面的代码基本上是错误的,它不会 运行 脚本 .

lowest_price = lowest(since)

现在,如果我使用这段代码,我不知道它是对还是错,但它是:

index_white = valuewhen(Long_Condition , bar_index , 0)

index_yellow = valuewhen(Long_Condition , bar_index , 1)

int final_index = index_white - index_yellow 

Lowest_price = lowest(final_index)
plot_1 = plot(final_index , color = color.blue)
plot_2 = plot(Lowest_price)

现在 plot_1 工作得很好,但是当我将 plot_2 添加到脚本时,它 运行 没有。

final_index 不是 Lowest(final_index) 不起作用的整数吗?

请帮助我。谢谢

图2编码启用plot_1.

Click to see the Picture #1

Click to see the Picture #2

您可以通过使用附加变量来跟踪低点并使用 ta.valuewhen() 来获取必要的值来获取这些值。

//@version=5
indicator("lowest between conditions", overlay = true)

long_condition = ta.crossover(ta.ema(close, 13), ta.ema(close, 30))

var float lowest_since_long = na
var int lowest_since_long_index = na

if long_condition
    lowest_since_long := low
    lowest_since_long_index := bar_index
else
    if low < lowest_since_long
        lowest_since_long := low
        lowest_since_long_index := bar_index


prev_long_low = ta.valuewhen(long_condition, lowest_since_long[1], 0)
prev_long_index = ta.valuewhen(long_condition, lowest_since_long_index[1], 0)

l = line.new(x1 = prev_long_index, y1 = prev_long_low, x2 = bar_index, y2 = prev_long_low, color = color.red)
line.delete(l[1])


plotshape(long_condition, color = color.lime, location = location.belowbar, size = size.small, style = shape.triangleup)