pine-script - 如何制作特定于特定图表的指标
问题描述
我创建了一个我希望使用的指标,例如预测和测量工具。我输入进场价和止损价,指标在图表上绘制利润目标。但是,在我将它放在图表上之后,它会在我随后打开的所有图表上使用这些相同的值。有没有办法让它只在我专门放置的图表上绘制/绘制(有未平仓交易)?
//@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)
解决方案
只要您的脚本依赖于在其“设置/输入”中输入的原始价格,您的脚本将始终是特定于交易品种的。允许为您运行的每个新符号创建单独的脚本实例的概念在电视上不存在。正如您所发现的,运行脚本的所有图表都使用相同的输入。
推荐阅读
- c++ - 平面和射线相交中参数常数 t 的值?
- javascript - 将图像加载到画布或使用 URL.convertToDataURL 应用 src 是否更节省内存
- javascript - 如何在 HTML/JS 表中存储 JSON 数据
- javascript - 如何从服务器端显示错误消息?
- reactjs - React Material-UI:'检查`Paperbase`的渲染方法'
- twitter-bootstrap-3 - AdminLTE侧边栏折叠时如何隐藏元素?
- python - 在关闭文件之前移动文件是否安全?
- javascript - 将闭包编译器与已编译的 vue.js 模板一起使用
- firebase - 动态 Firestore 规则?
- android - 如何在 Android 的 MainActivity 中暂停/播放背景音乐?