如果有人可以帮助我,我会非常感激,因为我不是真正的编码员。基本上我想让我的代码做的,当价格达到斐波那契水平时提醒我(我预先估算,假设为 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()