首页 > 解决方案 > 在正确的 Y 位置用 Tradingview 的 Pine 画一条简单的线

问题描述

在复制样本和修改时,我设法在最后一根蜡烛上找到了一行:

var line1 = line.new(x1=0, y1=low, x2=bar_index, y2=high, extend=extend.right)
line.set_x2(line1, 0)
line.set_xloc(line1, time, time, xloc.bar_time)

但是现在这条线从图表的顶部到底部。我想要的是把线放在一个特定的高度。例如,如果蜡烛的顶部是 10 美元,我可能希望将线放在 11 美元的高度。但是,当我更改y2为 11 美元时,这不是线路上升的地方。

此外,一旦我解决了高度问题,我显然只会有一个点,所以我想让这条线水平。能够说 1 或 2 或 3 个蜡烛宽度会很好,因此也将不胜感激。

最后,我不明白我希望有人能启发我,因为 x1 和 x2 设置在初始行中,为什么还要再设置两行设置 x ?

抱歉,仅 3 行代码就有这么多问题,我刚开始使用 Pine。

标签: pine-script

解决方案


这将从最后一条线开始绘制一条线low,并将延伸到n条形图。您可以通过更改此脚本设置中的输入
来编辑此栏。n

//@version=4
study(title="Line", shorttitle="Li", overlay=true)

i_bars_to_extend = input(10, "Number of bars to extend line", input.integer)

var line    line1       = line.new(na, na, na, na, xloc.bar_time)
var int     bar_length  = na

f_move_line(_line, _x, _y) =>
    line.set_xy1(_line, _x, _y)
    line.set_xy2(_line, _x + i_bars_to_extend * bar_length, _y)

bar_length := int(min(change(time),change(time)[1]))

if barstate.islast
    f_move_line(line1, time, low)

推荐阅读