Pine script 如何检查安全功能中是否存在对?

Pine script 如何检查安全功能中是否存在对?,pine-script,Pine Script,我有一个脚本,它检查多对特定条件。但是,现在有一对(BINANCE:BTGETH)不再存在,它破坏了我的脚本:您得到一个错误,不再有值 我想检查脚本内部是否存在对,这样我的脚本将继续运行,尽管其中一对不再可用。比如,在java中,尝试catch之类的东西 我尝试过在安全性/输入函数上执行if-then,或者在其上使用na(),但这不起作用。例如,类似于: ab = na(security("BINANCE:BTGETH", res, low)) ab = iff(na(security("BI

我有一个脚本,它检查多对特定条件。但是,现在有一对(BINANCE:BTGETH)不再存在,它破坏了我的脚本:您得到一个错误,不再有值

我想检查脚本内部是否存在对,这样我的脚本将继续运行,尽管其中一对不再可用。比如,在java中,
尝试catch
之类的东西

我尝试过在
安全性/输入
函数上执行
if-then
,或者在其上使用
na()
,但这不起作用。例如,类似于:

ab = na(security("BINANCE:BTGETH", res, low))

ab = iff(na(security("BINANCE:BTGETH", res, low), true)
有什么想法吗?我知道pinescript不擅长处理这类事情,我希望存在一些可以处理这类事情的东西

其他解决方法也会起作用,例如:

BTGsym = input(title="Symbol", type=symbol, defval="BINANCE:ADAETH")
BTGlow = security(BTGsym, res, low)

ab = na(BTGlow[0])

a := if (ab)
    1
else
    0

plot(a, color=yellow)

这将进行打印,但一旦符号不存在,它将进行编译,但您会收到无效的\u符号警告,脚本将中断。

不幸的是,这是不可能的。这不是pine脚本本身的限制,而是tradingview运行研究(包括内置研究)的方式:研究需要大量符号(一个或多个),只有当所有符号都准备好时,计算才会开始。因此,如果系统检测到所需符号之一不存在或因任何原因无法询问(例如,符号没有日内分辨率,但研究需要符号的日内分辨率),则即使不启动任何逻辑,研究也将被拒绝。因此,在tradingview改变该工作流之前,pine将无法支持您在这里想要的行为