首页 > 解决方案 > 如何绘制从以 barsince 定义的最高条数的结果

问题描述

尝试绘制当前柱和使用 的最后一个交叉之间的最高柱ema(50)ema(200)barssince(cross(ema50,ema200))。该函数highest()需要一个integer,而 Barssince 给出一个series integer。所有变体都得到了 pine 编译时出错的错误:

第 4 行:不能使用参数(系列 [整数])调用“最高”;可用重载:最高(系列,整数)=>系列;最高(整数)=> 系列脚本。

//@version=3
study("My Script")
o = 0
o := highest(barssince(cross(sma(close,50),sma(close,200))))
plot(o, color = yellow)

EMA十字架只是一个例子。我的目标是highest()计算条形图数量的函数。barssince

如何将结果形式 barsince 转换为接受的整数highest()?还是有不同的解决方案?

标签: pine-scripttrading

解决方案


自己实现最高功能:

//@version=3
study("My Script", max_bars_back=5000)

highest_pine(src, len) =>
    max = src[0]
    for i = 1 to len
        if src[i] > max
            max := src[i]
    max

o = 0.0
o := highest_pine(close, barssince(cross(sma(close,50),sma(close,200))))
plot(o, color = green)

推荐阅读