Pine script 锯齿形斐波那契水平交叉

Pine script 锯齿形斐波那契水平交叉,pine-script,fibonacci,zigzag,Pine Script,Fibonacci,Zigzag,如果有人能帮我,我会非常感激,因为我不是一个真正的程序员。 基本上,我希望我的代码能够做到的是,当价格达到Fib水平时(由我预先估算,比如0382或0,5),从一个Z字形的指标高点和低点提醒我。 因此,如果Z字形指标创造了一条新线(意味着从低点到最近的高点),而价格正在下跌,我的指标会提醒我,如果价格达到上次波动的fib水平 我的想法是创建一个存储 X:=(最近的高-最近的低)*输入的fib电平//因此我们得到了想要交叉的值 如果价格与var X交叉,则发出警报 如果有人能帮我提出我的想法,我在

如果有人能帮我,我会非常感激,因为我不是一个真正的程序员。 基本上,我希望我的代码能够做到的是,当价格达到Fib水平时(由我预先估算,比如0382或0,5),从一个Z字形的指标高点和低点提醒我。 因此,如果Z字形指标创造了一条新线(意味着从低点到最近的高点),而价格正在下跌,我的指标会提醒我,如果价格达到上次波动的fib水平

我的想法是创建一个存储 X:=(最近的高-最近的低)*输入的fib电平//因此我们得到了想要交叉的值

如果价格与var X交叉,则发出警报

如果有人能帮我提出我的想法,我在这里放了一个Z字形指示器

//@version=4
study("Zig Zag High Low", overlay = true)
length = input(4, title = "High/Low length")
h = highest(high, length * 2 + 1)
l = lowest(low, length * 2 + 1)
f_isMin(len) => 
    l == low[len]
f_isMax(len) => 
    h == high[len]

var dirUp = false
var lastLow = high * 100
var lastHigh = 0.0
var timeLow = bar_index
var timeHigh = bar_index
var line li = na
f_drawLine() =>
    _li_color = dirUp ? color.teal : color.orange
    line.new(
         timeHigh - length, lastHigh, 
         timeLow - length, lastLow, 
         xloc.bar_index, color=_li_color, width=2
         )

if dirUp
    if (f_isMin(length) and low[length] < lastLow)
        lastLow := low[length]
        timeLow := bar_index
        line.delete(li)
        li := f_drawLine()

    if (f_isMax(length) and high[length] > lastLow)
        lastHigh := high[length]
        timeHigh := bar_index
        dirUp := false
        li := f_drawLine()

if not dirUp
    if (f_isMax(length) and high[length] > lastHigh)
        lastHigh := high[length]
        timeHigh := bar_index
        line.delete(li)
        li := f_drawLine()
    if f_isMin(length) and low[length] < lastHigh
        lastLow := low[length]
        timeLow := bar_index
        dirUp := true
        li := f_drawLine()
        if (f_isMax(length) and high[length] > lastLow)
            lastHigh := high[length]
            timeHigh := bar_index
            dirUp := false
            li := f_drawLine()
/@version=4
研究(“之字形高-低”,叠加=真)
长度=输入(4,title=“高/低长度”)
h=最高(高,长度*2+1)
l=最低(低,长度*2+1)
f_isMin(len)=>
l==低[len]
f_isMax(len)=>
h==高[len]
var dirUp=false
var lastLow=高*100
var lastHigh=0.0
var timeLow=条形图索引
var timeHigh=条形指数
var线li=na
f_抽绳()=>
_li_color=dirUp?颜色。蓝绿色:颜色。橙色
新品(
timeHigh-长度,lastHigh,
timeLow-长度,lastLow,
xloc.bar\u索引,颜色=\u li\u颜色,宽度=2
)
如果弄脏了
if(f_isMin(长度)和low[长度]lastLow)
lastHigh:=高[长度]
时间上限:=条形图索引
dirUp:=假
li:=f_拉丝()
如果没有弄脏
如果(f_isMax(长度)和high[length]>lastHigh)
lastHigh:=高[长度]
时间上限:=条形图索引
行。删除(li)
li:=f_拉丝()
如果f_isMin(长度)和low[长度]lastLow)
lastHigh:=高[长度]
时间上限:=条形图索引
dirUp:=假
li:=f_拉丝()