【发布时间】:2021-02-25 14:38:56
【问题描述】:
基于来自 Bjorn 的 excellent answer 尝试以下操作,以在代码中包含更多数组元素。下面的理论示例包括函数 a() 中的 1000 和 b) 中的 500。 PineScript 无法编译,因为编译的脚本代码太长:79979。限制为 60000。但是,带空格的字符数只有 23115。有什么可以做的来包含更多,因为我需要包含 4000 个元素?
如果排除第 49 行 (from if barstate.islast and syminfo.ticker == "SPY") 以下的所有内容,则代码编译为永远不会访问 b()。例如,如果 syminfo.ticker 的第一个字母与“S”匹配,是否有可能仅访问 b() 的方法?
//@version=4
study("Lines", "LI", true)
var a_ticker = array.new_string()
var a_x1 = array.new_int()
var a_x2 = array.new_int()
var myLine = line.new(na, na, na, na, extend=extend.both)
ai(a,v) => array.includes(a,v)
ax(a,v) => array.indexof(a,v)
as(a,i,v) => array.set(a,i,v)
ag(a,i) => array.get(a,i)
ap(a,v) => array.push(a,v)
f(t,a,b) =>
if ai(a_ticker,t)
i = ax(a_ticker,t),as(a_x1,i,a),as(a_x2,i,b)
else
ap(a_ticker,t),ap(a_x1,a),ap(a_x2,b)
a() =>
f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),
f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),
f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),
f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),
f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),
f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),
f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),
f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),
f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),
f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6),f("AAPL",20,6)
b() =>
f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),
f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),
f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),
f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),
f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),f("SPY",20,6),
if barstate.islast and syminfo.ticker == "AAPL"
a()
if ai(a_ticker, syminfo.ticker)
idx = ax(a_ticker, syminfo.ticker)
x1 = ag(a_x1, idx)
x2 = ag(a_x2, idx)
line.set_xy1(myLine, bar_index - x1, high[x1])
line.set_xy2(myLine, bar_index - x2, high)
if barstate.islast and syminfo.ticker == "SPY"
b()
if ai(a_ticker, syminfo.ticker)
idx = ax(a_ticker, syminfo.ticker)
x1 = ag(a_x1, idx)
x2 = ag(a_x2, idx)
line.set_xy1(myLine, bar_index - x1, high[x1])
line.set_xy2(myLine, bar_index - x2, high)
编辑 1:
基于 Bjorn 的解决方案,我尝试对趋势线的 y1 和 y2 价格值使用相同的方法,这应该是 float(使用价格值),同时保持 x1 和 x2 为静态趋势线的时间戳值。我将代码调整为接受 float 而不是 int,但似乎只接受 int。有什么遗漏吗? float 值是否需要函数 f_str2int?
//@version=4
study("Lines", "LI", true)
x1_date = timestamp(2020, 10, 30, 9, 30)
x2_date = timestamp(2021, 2, 16, 9, 30)
var string[] a_ticker = array.new_string()
var float[] a_y1 = array.new_float()
var float[] a_y2 = array.new_float()
var string[] a_str = array.new_string()
var string[] a_digits_str = array.new_string()
var float[] a_digits_float = array.new_float()
var line myLine = line.new(x1_date, na, x2_date, na, extend=extend.both, color = color.yellow, xloc = xloc.bar_time)
var string[] a_str_set_ticker = array.new_string()
var string[] a_str_set_y1 = array.new_string()
var string[] a_str_set_y2 = array.new_string()
// Initializes the a_digits_float array
f_init_digits_float() =>
for x = 0 to 9
array.push(a_digits_str, tostring(x))
array.push(a_digits_float, x)
// Converts a string containing an digit, to an integer
f_digitstr2int(_dstr) =>
array.get(a_digits_float, array.indexof(a_digits_str, _dstr))
// Converts a string containing an integer, to an integer
f_str2int(_s) =>
float multiplier = 1
float number = 0
a = str.split(_s,"")
array.reverse(a)
for x = 0 to array.size(a)-1
digit_str = array.get(a,x)
number := number + multiplier * f_digitstr2int(digit_str)
multiplier := multiplier * 10
number
// Initialize the data
f_init_data() =>
array.push(a_str_set_ticker, "AAPL,AMZN,SPY")
array.push(a_str_set_y1, "121,3228,322.2")
array.push(a_str_set_y2, "119.1,3210.8,394.9")
if barstate.islast
// Initialization
f_init_digits_float()
f_init_data()
// Process the data
for z = 0 to array.size(a_str_set_ticker)-1
a_ticker := array.concat(str.split(array.get(a_str_set_ticker, z),","), a_ticker)
a_str := str.split(array.get(a_str_set_y1, z),",")
for i = 0 to array.size(a_str)-1
array.push(a_y1,f_str2int(array.get(a_str,i)))
a_str := str.split(array.get(a_str_set_y2, z),",")
for i = 0 to array.size(a_str)-1
array.push(a_y2,f_str2int(array.get(a_str,i)))
// Draw line
if array.includes(a_ticker, syminfo.ticker)
idx = array.indexof(a_ticker, syminfo.ticker)
y1 = array.get(a_y1, idx)
y2 = array.get(a_y2, idx)
line.set_y1(myLine, y1)
line.set_y2(myLine, y2)
编辑 2:
基于 Bjorn 的 float 方法,我试图为同一个符号绘制 3 条线,但似乎只处理了第一组数组元素?有没有办法为相同的符号生成更多行(基于数据的 1、2 或最多 3 行)?相关数组将包括以下内容:
// Initialize the data
f_init_data() =>
// 4000 tickers, broken down into 5 sets, because a string has a max size of 4096 characters.
// 800 tickers, set 1
array.push(a_str_set_ticker, "QQQ,QQQ,QQQ,AMZN,AMZN")
array.push(a_str_set_y1, "267,300,222,3000,2000")
array.push(a_str_set_y2, "338.2,200,111,2500,1000")
【问题讨论】:
-
为 y 值问题创建了第二个答案(您的编辑 1)。
标签: pine-script