【问题标题】:Pine Script / Plotting values only from last highest highPine Script / 仅从最后的最高点绘制值
【发布时间】:2021-02-26 16:50:02
【问题描述】:

我正在尝试绘制变量 test 的值,这些值仅在某个时间或柱 moment 之后出现。现在是high == highest(high,63) 的时刻,从那时起,我想将 high 值绘制在其他柱上而不是之前的柱上。这可以通过 plot 函数的 show_last 来实现,但是我怎样才能为 show_last 使用一个自动常量,它可以是返回时的柱数first high == highest(high,63) 不用手动输入

//@version=4
study(title="Test", overlay=true)

moment = valuewhen(high == highest(high,63),time,0)
test = time < moment ? na : high
plot(test, title="test", color=color.yellow)

【问题讨论】:

    标签: pine-script


    【解决方案1】:

    您不能将show_last 用于该目的,因为该参数必须是输入整数(其值为常量)。
    您要求为show_last 参数提供series integer,但这会导致编译错误。

    我想这就是你想要的:

    //@version=4
    study(title="Test", overlay=true)
    
    var bool moment_occurred = false
    
    if high == highest(high,63)
        moment_occurred := true
    
    plot(moment_occurred ? high : na, title="test", color=color.yellow)
    

    但是一旦第一次遇到这种情况,它总是会在那一刻进行。
    它永远不会被重置。

    【讨论】:

    • 感谢您的帮助!但是,这会在整个图上绘制相同的值,而不仅仅是从产生相同图的 moment_occurred 中绘制。 moment_occurred 似乎适用于每个条形图。
    • 是的,这就是我在回答中所解释的。在图表的最开始会有一段时间没有绘制,但一旦条件成立,它总是会在那一刻之后绘制。
    • 明白了-似乎没有别的办法,只能手动输入一个数字到情节的show_last
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多