0

如果有人可以帮助我,我会非常感激,因为我不是真正的编码员。基本上我想让我的代码做的,当价格达到斐波那契水平时提醒我(我预先估算,假设为 0,382 或 0,5)但是从 ZIG ZAG 指标的高点和低点。因此,如果 Zig Zag 指标创建了一条新线(意味着从低点到最近的高点)并且价格正在下跌,如果价格达到最后一次波动的斐波水平,我的指标会提醒我。

我的想法是创建一个新变量来存储 X:= ( 最近的高点 - 最近的低点 ) * 输入的 fib 级别 // 所以我们得到了我们想要交叉的值

如果价格交叉 var X 则提醒

我把之字形指标放在这里,如果有人可以帮助我的想法

//@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()
4

0 回答 0