0

誰かがこれで私を助けることができれば、私は本当にコーダーではないので、私は大いに感謝します。基本的にコードに実行させたいことは、価格が Fib レベルに達したときに警告することです (私が事前に推定したもので、0,382 または 0,5 としましょう)。ただし、ZIG ZAG インジケーターの高低から。したがって、ジグザグ インジケーターが新しいライン (安値から最近の高値までを意味する) を作成し、価格が下落している場合、価格が最後のスイングの fib レベルに達した場合、インジケーターは私に警告します。

私の考えは、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