如何解决如何将当前数组与 Tradingview Pinescript 中的最后一个数组进行比较?
我刚开始编写代码,需要数组方面的帮助!
我想知道如何让这段代码画线仅以防万一
当前红线起点等于或小于最后一条红线起点
提前致谢!
//@version=4
study("zigzag trial",overlay = true)
prd = input(defval = 4,title="zigzag Period",minval = 2,maxval = 50)
showzigzag = input(defval = true,title = "Show Zig Zag")
upcol = input(defval = color.lime,title = "zigzag Up Color")
dncol = input(defval = color.red,title = "zigzag Down Color")
float ph = highestbars(high,prd) == 0 ? high : na
float pl = lowestbars(low,prd) == 0 ? low : na
var dir = 0
dir := iff(ph and na(pl),1,iff(pl and na(ph),-1,dir))
var max_array_size = 10
var zigzag = array.new_float(0)
add_to_zigzag(value,bindex)=>
array.unshift(zigzag,bindex)
array.unshift(zigzag,value)
if array.size(zigzag) > max_array_size
array.pop(zigzag)
array.pop(zigzag)
update_zigzag(value,bindex)=>
if array.size(zigzag) == 0
add_to_zigzag(value,bindex)
else
if (dir == 1 and value > array.get(zigzag,0)) or (dir == -1 and value < array.get(zigzag,0))
array.set(zigzag,value)
array.set(zigzag,bindex)
0.
Round_it(value)=> round(value / syminfo.mintick) * syminfo.mintick
dirchanged = change(dir)
if ph or pl
if dirchanged
add_to_zigzag(dir == 1 ? ph : pl,bar_index)
else
update_zigzag(dir == 1 ? ph : pl,bar_index)
if showzigzag and array.size(zigzag) >= 4
var line zzline = na
float val = array.get(zigzag,0)
int point = round(array.get(zigzag,1))
if change(val) or change(point)
float val1 = array.get(zigzag,2)
int point1 = round(array.get(zigzag,3))
if change(val1) == 0 and change(point1) == 0
line.delete(zzline)
zzline := line.new(x1 = point,y1 = val,x2 = point1,y2 = val1,color = dir == 1 ? upcol : dncol,width = 2)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。