【问题标题】:Getting highest value between 2 bars with bar index使用条形索引在 2 个条形之间获取最高值
【发布时间】:2020-07-30 08:38:48
【问题描述】:

我想获得 2 个带柱索引的柱之间的最大值

假设我有 2 个柱索引 100 和 150。我想获得这 2 个蜡烛之间的最高值。
我该怎么做?

【问题讨论】:

    标签: pine-script


    【解决方案1】:

    这可以通过以下方式轻松完成,让我们将您的第一个柱形索引表示为a,将第二个柱形索引表示为b,其中a < b,该范围内的最大值可以按如下方式计算:

    highest = highest(close,b-a)
    val = valuewhen(bar_index==b,highest,0)
    

    val 返回[a,b] 范围内的最大值。您可以使用函数lowest 而不是highest 来获取最小值。

    如果您想在两次出现中找到最高值,您可以使用:

    max = 0.
    ma20 = sma(close,20)
    ma50 = sma(close,50)
    max := crossover(ma20,ma50) or crossunder(ma20,ma50) ? close : max(close,max[1])
    

    这里max是当前最高值,当其中一个条件为真时重置。

    【讨论】:

    • 我的最终目标是在sma20和sma50的crossover和crossunder之间找到最高的价格值。我使用函数 valuewhen(crossunder(xxx),xx,xx) 分配了 a 和 b 的值。然后我使用了你的代码并得到一个错误“'highest'函数中'length'参数的值无效。它必须> 0。”
    • 记住a < b,在这个例子中你给出了b = 150a = 100
    • 我使用函数 valuewhen(crossunder(sma20,sma50),bar_index,0) 分配了 a 和 b 的值,反之亦然...不知道是不是问题。
    • 好的,我明白你的问题,我会编辑我的答案。
    • O..我现在理解了99%,但是max(src,max[1])中的src是什么意思呢?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-08
    相关资源
    最近更新 更多