0

将 pine 脚本版本 2 更改为 4 时出现错误

第 17 行:未声明的标识符“_direction”;

第 18 行:在范围“anonym_function_0”中找不到变量“_direction”,无法注册边

代码如下

    //@version=4
    study(title='ZigZag PA Strategy V4 ALERT')
    useHA = input(false, title='Use Heikken Ashi Candles')
    useAltTF = input(true, title='Use Alt Timeframe')
    tf = input('30', title='Alt Timeframe')
    showPatterns = input(true, title='Show Patterns')
    showFib0000 = input(title='Display Fibonacci 0.000:',defval=true)
    showFib0236 = input(title='Display Fibonacci 0.236:',defval=true)
    showFib0382 = input(title='Display Fibonacci 0.382:',defval=true)
    showFib0500 = input(title='Display Fibonacci 0.500:', defval=true)
    showFib0618 = input(title='Display Fibonacci 0.618:', defval=true)
    showFib0764 = input(title='Display Fibonacci 0.764:', defval=true)
    showFib1000 = input(title='Display Fibonacci 1.000:', defval=true)
    zigzag() =>
        _isUp = close >= open
        _isDown = close <= open
        _direction = _isUp[1] and _isDown ? -1 : _isDown[1] and _isUp ? 1 : nz(_direction[1])
        _zigzag = _isUp[1] and _isDown and _direction[1] != -1 ? highest(2) : _isDown[1] and _isUp and _direction[1] != 1 ? lowest(2) : na

    _ticker = useHA ? heikinashi(syminfo.tickerid) : syminfo.tickerid
    sz = useAltTF ? (change(time(tf)) != 0 ? security(_ticker, tf, zigzag()) : na) : zigzag()

我该如何解决?

请帮帮我..

4

1 回答 1

0

在 v4 中,变量需要先声明,然后才能在赋值的右侧引用它们。使用前仔细比较结果与 v2:

zigzag() =>
    _isUp = close >= open
    _isDown = close <= open
    _direction = 0
    _direction := _isUp[1] and _isDown ? -1 : _isDown[1] and _isUp ? 1 : nz(_direction[1])
    _zigzag = _isUp[1] and _isDown and _direction[1] != -1 ? highest(2) : _isDown[1] and _isUp and _direction[1] != 1 ? lowest(2) : na
于 2020-03-27T16:32:19.440 回答