Pine script 如何制作特定图表的指标

Pine script 如何制作特定图表的指标,pine-script,indicator,Pine Script,Indicator,我已经创建了一个指标,我希望像预测和测量工具一样使用它。我输入一个分录和止损价格,指示器在图表上绘制利润目标。但是,在我将其放在图表上之后,它在随后打开的所有图表上使用相同的值。有没有办法只在我特别放置的图表上绘制/绘制(有公开交易) 只要您的脚本依赖于在“设置/输入”中输入的原始价格,您的脚本将始终是特定于符号的。电视上不存在允许为运行脚本的每个新符号分别创建脚本实例的概念。正如您所发现的,脚本运行的所有图表都使用相同的输入。只要您的脚本依赖于在其“设置/输入”中输入的原始价格,您的脚本将始终

我已经创建了一个指标,我希望像预测和测量工具一样使用它。我输入一个分录和止损价格,指示器在图表上绘制利润目标。但是,在我将其放在图表上之后,它在随后打开的所有图表上使用相同的值。有没有办法只在我特别放置的图表上绘制/绘制(有公开交易)


只要您的脚本依赖于在“设置/输入”中输入的原始价格,您的脚本将始终是特定于符号的。电视上不存在允许为运行脚本的每个新符号分别创建脚本实例的概念。正如您所发现的,脚本运行的所有图表都使用相同的输入。

只要您的脚本依赖于在其“设置/输入”中输入的原始价格,您的脚本将始终是特定于符号的。电视上不存在允许为运行脚本的每个新符号分别创建脚本实例的概念。正如您所发现的,相同的输入用于运行脚本的所有图表

//@version=4
study("Trade Targets", overlay=true)

ep = input(0.00, "Entry Price", type=input.float, confirm=true)
sl = input(0.00, "Stop Loss Price", type=input.float, confirm=true)

// truncate() truncates a given number to a certain number of decimals
truncate(number, decimals) =>
    factor = pow(10, decimals)
    int(number * factor) / factor
    
t1 = truncate(ep * 1.01, 2)
t2 = truncate(ep * 1.03, 2)
t3 = truncate(ep * 1.05, 2)
t4 = truncate(ep * 1.10, 2)
t5 = truncate(ep * 1.20, 2)

// make a new label once
//var label label_t1 = label.new(x=bar_index, y=t1, textcolor=color.black, style=label.style_none, size=size.normal, textalign=text.align_center)
var label label_t2 = label.new(x=bar_index, y=t2, textcolor=color.black, style=label.style_none, size=size.normal, textalign=text.align_center)
var label label_t3 = label.new(x=bar_index, y=t3, textcolor=color.black, style=label.style_none, size=size.normal, textalign=text.align_center)
var label label_t4 = label.new(x=bar_index, y=t4, textcolor=color.black, style=label.style_none, size=size.normal, textalign=text.align_center)
var label label_t5 = label.new(x=bar_index, y=t5, textcolor=color.black, style=label.style_none, size=size.normal, textalign=text.align_center)

if (barstate.islast) and (ep > 0.00)
    line_sl = line.new(x1=bar_index[0], y1=sl, x2=bar_index[1], y2=sl, extend=extend.left)
    //line_t1 = line.new(x1=bar_index[0], y1=t1, x2=bar_index[1], y2=t1, extend=extend.left)
    line_t2 = line.new(x1=bar_index[0], y1=t2, x2=bar_index[1], y2=t2, extend=extend.left)
    line_t3 = line.new(x1=bar_index[0], y1=t3, x2=bar_index[1], y2=t3, extend=extend.left)
    line_t4 = line.new(x1=bar_index[0], y1=t4, x2=bar_index[1], y2=t4, extend=extend.left)
    line_t5 = line.new(x1=bar_index[0], y1=t5, x2=bar_index[1], y2=t5, extend=extend.left)
    
    // Set the label content
    //label.set_text(id=label_t1, text="1% " + tostring(t1))
    label.set_text(id=label_t2, text="3% " + tostring(t2))
    label.set_text(id=label_t3, text="5% " + tostring(t3))
    label.set_text(id=label_t4, text="10% " + tostring(t4))
    label.set_text(id=label_t5, text="20% " + tostring(t5))

    // Update the label's location
    //label.set_xy(id=label_t1, x=bar_index[4], y=t1)
    label.set_xy(id=label_t2, x=bar_index[4], y=t2)
    label.set_xy(id=label_t3, x=bar_index[4], y=t3)
    label.set_xy(id=label_t4, x=bar_index[4], y=t4)
    label.set_xy(id=label_t5, x=bar_index[4], y=t5)