首页 > 解决方案 > 在锯齿形图上调用最高()的问题

问题描述

我在 pine 上迈出了第一步,并且通过在我的策略中使用函数 Highest() 获得了不一致的编译警报:

第 20 行:应在每次计算时调用函数“highest”以保持一致性。建议从三元运算符或范围中提取调用。

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

你们能告诉我如何正确写这个吗?

标签: pine-scriptalgorithmic-trading

解决方案


//@version=4
study("test", "test", true)

zigzag() =>
    _hi = highest(2)
    _lo = lowest(2)
    _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 ? _hi : _isDown[1] and _isUp and _direction[1] != 1 ? _lo : na

plot(na)

推荐阅读