簡體   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