如何在 Pinescript 中的特定时间的高点和低点绘制水平线?
How do I plot a horizontal line on the high and low of a specific time in Pinescript?
我的问题实际上分为两部分。
如何绘制一条水平线(向右延伸但不向左延伸)从一天中的特定时间开始,在交易时间之外。我实际上想绘制两条水平线,一条在 10 分钟图表的上午 8 点蜡烛的高点和低点。我也希望它能按历史绘制。
如何才能使绘制的线条仅向右延伸,直到新柱形成更高的高点或更低的低点。 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)
我的问题实际上分为两部分。
如何绘制一条水平线(向右延伸但不向左延伸)从一天中的特定时间开始,在交易时间之外。我实际上想绘制两条水平线,一条在 10 分钟图表的上午 8 点蜡烛的高点和低点。我也希望它能按历史绘制。
如何才能使绘制的线条仅向右延伸,直到新柱形成更高的高点或更低的低点。 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)