如何在 Pinescript 中的特定时间的高点和低点绘制水平线?

How do I plot a horizontal line on the high and low of a specific time in Pinescript?

我的问题实际上分为两部分。

  1. 如何绘制一条水平线(向右延伸但不向左延伸)从一天中的特定时间开始,在交易时间之外。我实际上想绘制两条水平线,一条在 10 分钟图表的上午 8 点蜡烛的高点和低点。我也希望它能按历史绘制。

  2. 如何才能使绘制的线条仅向右延伸,直到新柱形成更高的高点或更低的低点。 example horizontal line on the high that I manually drew on the chart

我什至不知道从哪里开始。我有一些用 Pinescript 写作的经验,但没有按照我想要的方式画线。任何帮助将不胜感激。

  • 找出新会话
  • 将高值保存在 var
  • 开始绘图,直到出现新高
  • 在新会话时重置所有内容

下面是 high 的示例:

//@version=5
indicator("My script", overlay=true, max_lines_count=500)
h = input.int(9, "Hour", minval=0, maxval=59)
m = input.int(30, "Hour", minval=0, maxval=59)

var float first_high = na
var bool can_draw = false
var line l = na

is_new_session = (hour == h) and (minute == m)
bgcolor(is_new_session ? color.new(color.green, 85) : na)

if (is_new_session)     // New session
    first_high := high  // Reset session high
    can_draw := true    // We are allowed to draw a line
    l := line.new(bar_index, first_high, bar_index, first_high, color=color.red)    // Get new line id
else
    if (can_draw)
        if (high > first_high)  // New high is made
            can_draw := false   // Stop drawing
        else
            line.set_x2(l, bar_index)   // Update x2 position of the line (move it to the right)