簡體   English   中英

在 pine 腳本中使用 function 循環數組推送

[英]Loop an array push with a function in pine script

我正在使用 pine 腳本,並且在 while 循環內部或外部執行數組推送時得到不同的結果。

假設我有一個簡單的 function ,它返回兩個值的總和:

myFunction(myValue1, myValue2) => 
    myValue3 = myValue1 + myValue2

還有一個將存儲函數結果的數組:

myArray = array.new_float(0)

如果我像這樣應用多個數組推送:

array.push(myArray, myFunction(1, 0))
array.push(myArray, myFunction(1, 1))
array.push(myArray, myFunction(1, 2))
array.push(myArray, myFunction(1, 3))
array.push(myArray, myFunction(1, 4))

myArray 正確存儲以下值:

myArray = [1, 2, 3, 4, 5]

然后我嘗試了同樣的事情,但是在 while 循環中使用了數組 push:

myInc = 0
while myInc <= 4
    array.push(myArray, myFunction(1, myInc))
    myInc += 1

並且它沒有在數組中存儲相同的值:

myArray = [1, 1, 1, 1, 1]

如何在 while 循環內使用 function 正確實現數組推送?

//@version=5
indicator(title="TEST", overlay=true)

myFunction(myValue1, myValue2) => myValue3 = myValue1 + myValue2

myArray = array.new_float(0)

// array.push(myArray, myFunction(1, 0))
// array.push(myArray, myFunction(1, 1))
// array.push(myArray, myFunction(1, 2))
// array.push(myArray, myFunction(1, 3))
// array.push(myArray, myFunction(1, 4))

var int myInc = 0

myInc := 0
while myInc <= 4
    array.push(myArray, myFunction(1, myInc)) 
    myInc += 1

if barstate.islast
    label.new(bar_index, high, array.join(myArray, ',') )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM