为什么此代码 运行 不会出现在 Pine Script 4 中? "Undeclared identifier"
Why won't this code run in Pine Script 4? "Undeclared identifier"
资源仍然很重 Pine Script 3,所以我想我在混淆一些东西:
我尝试创建一个平均每日范围指标,它基本上是一个 ATR,无论当前图表的时间范围如何,它都采用 "D" 输入。我的代码在 Pine Script 3 上运行良好,但 Pine Script 4 抛出以下错误:
line 4: Undeclared identifier `resolution`;
line 6: Undeclared identifier `tickerid`;
line 6: Undeclared identifier `dRange`;
line 8: Undeclared identifier `adRange`
文档表明 resolution
仍然是一个 input()
论点,我不确定为什么还有其他东西被称为 "undeclared"。
我的完整代码是:
//@version=4
study(title="Average Daily Range", shorttitle="ADR", overlay=false)
dRange = input(defval="D", title="Daily Range", type=resolution)
adRange = security(tickerid, dRange, rma(tr, 5))
plot(adRange, title = "ADR", color=#000000, transp=0)
这些 "Undeclared identifiers" 是什么?我必须在 Pine Script 4 中做哪些不同的事情才能得到相同的结果?
谢谢。
我解决了,但还是不知道"undeclared identifiers"是什么。我假设这只是 Pine 的说法,dRange
违反了其变量 resolution
的新规则,并且 adRange
正在为未使用的 tickerid
制造问题,它有在 PineScript 4 中被 syminfo.tickerid
取代。
//@version=4
study(title="Average Daily Range", shorttitle="ADR", overlay=false)
adRange = security(syminfo.tickerid, "D", rma(tr, 5))
plot(adRange, title="ADR", color=#000000, transp=0)
v4 RefMan 在这里:https://www.tradingview.com/pine-script-reference/v4/
v4 UserMan 在这里:https://www.tradingview.com/pine-script-docs/en/v4/index.html
由于编译器在使用 input()
的第 4 行返回错误,因此在 refman 中查找该函数是有意义的,您会在其中找到 type=
参数的正确参数现在想要 input.resolution
。由于错误无法初始化变量 dRange
,编译器也会对该变量给出错误。 adRange
也是如此,您已修复。
资源仍然很重 Pine Script 3,所以我想我在混淆一些东西:
我尝试创建一个平均每日范围指标,它基本上是一个 ATR,无论当前图表的时间范围如何,它都采用 "D" 输入。我的代码在 Pine Script 3 上运行良好,但 Pine Script 4 抛出以下错误:
line 4: Undeclared identifier `resolution`;
line 6: Undeclared identifier `tickerid`;
line 6: Undeclared identifier `dRange`;
line 8: Undeclared identifier `adRange`
文档表明 resolution
仍然是一个 input()
论点,我不确定为什么还有其他东西被称为 "undeclared"。
我的完整代码是:
//@version=4
study(title="Average Daily Range", shorttitle="ADR", overlay=false)
dRange = input(defval="D", title="Daily Range", type=resolution)
adRange = security(tickerid, dRange, rma(tr, 5))
plot(adRange, title = "ADR", color=#000000, transp=0)
这些 "Undeclared identifiers" 是什么?我必须在 Pine Script 4 中做哪些不同的事情才能得到相同的结果?
谢谢。
我解决了,但还是不知道"undeclared identifiers"是什么。我假设这只是 Pine 的说法,dRange
违反了其变量 resolution
的新规则,并且 adRange
正在为未使用的 tickerid
制造问题,它有在 PineScript 4 中被 syminfo.tickerid
取代。
//@version=4
study(title="Average Daily Range", shorttitle="ADR", overlay=false)
adRange = security(syminfo.tickerid, "D", rma(tr, 5))
plot(adRange, title="ADR", color=#000000, transp=0)
v4 RefMan 在这里:https://www.tradingview.com/pine-script-reference/v4/
v4 UserMan 在这里:https://www.tradingview.com/pine-script-docs/en/v4/index.html
由于编译器在使用 input()
的第 4 行返回错误,因此在 refman 中查找该函数是有意义的,您会在其中找到 type=
参数的正确参数现在想要 input.resolution
。由于错误无法初始化变量 dRange
,编译器也会对该变量给出错误。 adRange
也是如此,您已修复。