簡體   English   中英

為什么此代碼不能在Pine Script 4中運行? “未聲明的標識符”

[英]Why won't this code run in Pine Script 4? “Undeclared identifier”

資源仍然是Pine Script 3的重擔,所以我想我正在混淆一些東西:

我試圖創建一個“平均每日波動范圍”指標,該指標基本上是無論當前圖表的時間范圍如何,都需要輸入“ D”的ATR。 我的代碼在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()參數,我不確定為什么其他任何東西都稱為“未聲明”。

我的完整代碼是:

//@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)

這些“未聲明的標識符”是什么? 為了使我得到相同的結果,我必須在Pine Script 4中做些什么改變?

謝謝。

我解決了它,但仍然不知道什么是“未聲明的標識符”。 我認為這只是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= parameter所需的適當參數現在是input.resolution 由於該錯誤而無法初始化變量dRange ,因此編譯器還會對該變量給出錯誤。 已修復的adRange

暫無
暫無

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

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