pinescript 中未声明的标识符错误
Undeclared identifier error in pinescript
我正在尝试将以下 pinescript 代码转换为版本 4。我收到未声明的标识符错误。有人可以帮我吗?
//Declare General Trend
TL1(src, len) =>
weight = 3.5 / (len + 1)
sum = nz(sum[1]) - nz(src[len]) + src
ma = na(src[len]) ? na : sum/len
out = na(out[1]) ? ma : (src - out[1]) * weight + out[1]
out
TL(src, len) =>
weight = 2 / (len + 1)
sum = nz(sum[1]) - nz(src[len]) + src
ma = na(src[len]) ? na : sum/len
out = na(out[1]) ? ma : (src - out[1]) * weight + out[1]
out
TL3 = TL(low,16) - TL1(low,16)
TL4 = percentrank(TL3, 8)
TL5 = (TL3 < 0 and TL4 > 75) ? 1 : 0
没有可编译代码无法确认,但这应该可以。从 v3 开始,变量必须在使用 history-referencing [ ]
运算符之前声明。此外,使用 var
仅在第一个柱上声明变量,因此跨柱传播它们的值并且通常不需要使用 [1]
来引用它们的先前值:
//Declare General Trend
TL1(src, len) =>
var float sum = 0.
var float out = na
weight = 3.5 / (len + 1)
sum := sum - nz(src[len]) + src
ma = na(src[len]) ? na : sum/len
out := na(out) ? ma : (src - out) * weight + out
out
TL(src, len) =>
var float sum = 0.
var float out = na
weight = 2 / (len + 1)
sum := sum - nz(src[len]) + src
ma = na(src[len]) ? na : sum/len
out := na(out) ? ma : (src - out) * weight + out
out
TL3 = TL(low,16) - TL1(low,16)
TL4 = percentrank(TL3, 8)
TL5 = (TL3 < 0 and TL4 > 75) ? 1 : 0
我正在尝试将以下 pinescript 代码转换为版本 4。我收到未声明的标识符错误。有人可以帮我吗?
//Declare General Trend
TL1(src, len) =>
weight = 3.5 / (len + 1)
sum = nz(sum[1]) - nz(src[len]) + src
ma = na(src[len]) ? na : sum/len
out = na(out[1]) ? ma : (src - out[1]) * weight + out[1]
out
TL(src, len) =>
weight = 2 / (len + 1)
sum = nz(sum[1]) - nz(src[len]) + src
ma = na(src[len]) ? na : sum/len
out = na(out[1]) ? ma : (src - out[1]) * weight + out[1]
out
TL3 = TL(low,16) - TL1(low,16)
TL4 = percentrank(TL3, 8)
TL5 = (TL3 < 0 and TL4 > 75) ? 1 : 0
没有可编译代码无法确认,但这应该可以。从 v3 开始,变量必须在使用 history-referencing [ ]
运算符之前声明。此外,使用 var
仅在第一个柱上声明变量,因此跨柱传播它们的值并且通常不需要使用 [1]
来引用它们的先前值:
//Declare General Trend
TL1(src, len) =>
var float sum = 0.
var float out = na
weight = 3.5 / (len + 1)
sum := sum - nz(src[len]) + src
ma = na(src[len]) ? na : sum/len
out := na(out) ? ma : (src - out) * weight + out
out
TL(src, len) =>
var float sum = 0.
var float out = na
weight = 2 / (len + 1)
sum := sum - nz(src[len]) + src
ma = na(src[len]) ? na : sum/len
out := na(out) ? ma : (src - out) * weight + out
out
TL3 = TL(low,16) - TL1(low,16)
TL4 = percentrank(TL3, 8)
TL5 = (TL3 < 0 and TL4 > 75) ? 1 : 0