繁体   English   中英

PineScript 数组“索引超出范围”

[英]PineScript Array "Index is out of bounds"

我正在尝试一个非常简单的数组,当我调用 'array.clear()' function 并尝试创建新的 label “CCI1H End”时遇到以下错误

“在 'array.get()' function 中。索引 2 超出范围,数组大小为 0”

以下代码尝试检查 3 个连续 CCI pivot 高点中的最后一个是否最高,如果 CCI 降至 50 以下,那么我想清除阵列并再次开始计数。 我尝试了几种不同的安排,并以这种嵌套安排结束,认为我可以将它包含在本地 scope 中,但无济于事。 请帮忙,我几乎不知道自己在做什么,并且非常感谢您的协助。

这是代码:

var CCI1H = array.new_float(3)

if cci > 50 
    if (cciPeakPivotHigh > 100)
        array.push(CCI1H, cciPeakPivotHigh)
        array.shift(CCI1H)
        CCI1Hval1 = array.get(CCI1H, 2)
        CCI1Hval2 = array.get(CCI1H, 1)
        CCI1Hval3 = array.get(CCI1H, 0)
        if array.size(CCI1H) == 3 and (CCI1Hval3 > CCI1Hval2 and CCI1Hval3 > CCI1Hval1)
            label.new(bar_index, na, "CCI1H End", yloc = yloc.abovebar, style = label.style_none, textcolor = color.white, size = size.normal)

else if cci < 50 
    array.clear(CCI1H) 

先感谢您!

var CCI1H = array.new_float(0)

if cci > 50 
    if (cciPeakPivotHigh > 100)
        array.push(CCI1H, cciPeakPivotHigh)
        if array.size(CCI1H) == 3
            CCI1Hval1 = array.get(CCI1H, 2)
            CCI1Hval2 = array.get(CCI1H, 1)
            CCI1Hval3 = array.get(CCI1H, 0)
                if (CCI1Hval3 > CCI1Hval2 and CCI1Hval3 > CCI1Hval1)
                    label.new(bar_index, na, "CCI1H End", yloc = yloc.abovebar, style = label.style_none, textcolor = color.white, size = size.normal)
                else
                    array.shift(CCI1H)
else if cci < 50 
    array.clear(CCI1H) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM