[英]History referencing in Pine Script arrays
我一直在嘗試使用最近在 PineScript 4 中引入的數組功能,但它接縫表明我沒有意識到它的局限性,或者可能實現仍然有問題。 以下非常簡單的腳本說明了我面臨的問題:
//@version=4
study("TEST")
// A is basically the same as bar_index+1, and it is plotted as expected
A=0
A:=nz(A[1])+1
// the same thing implemented using arrays nevertheless doesn't work as expected
B=array.new_float(1,0)
array.set(B,0,nz(array.get(B,0)[1])+1)
plot(A,color=color.red)
plot(array.get(B,0),color=color.yellow)
根據我的理解, A和B數組的第一個元素都必須生成相同的圖形。 盡管如此, B的 plot 只是在所有柱上給出 1。 問題肯定與歷史引用運算符 [] 的使用有關。 有誰知道如何克服這種問題?
注意:為了深入了解問題的本質,我已使此腳本盡可能簡單。 我正在處理的腳本要復雜得多,它以各種方式在 for 循環中使用 arrays,包括剛剛說明的那個(即歷史引用操作),所以使用簡單變量代替數組根本不會'不適合我。
//@version=4
study("TEST")
// A is basically the same as bar_index+1, and it is plotted as expected
A=0
A:=nz(A[1])+1
// the same thing implemented using arrays nevertheless doesn't work as expected
var B=array.new_float(1,0)
array.set(B,0,nz(array.get(B,0))+1)
plot(A,color=color.red)
plot(array.get(B,0),color=color.yellow)
我完全同意你的看法。 我也有數組歷史引用的問題,無法通過替換 [] 來解決。 我在沒有數組的情況下重寫了我的腳本,它運行得很好。 唉,那是太長的腳本,但工作正常。 我認為 Pine 工作人員應該修改 arrays 代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.