【问题标题】:how to check if pair exist in security function?如何检查安全功能中是否存在对?
【发布时间】:2020-02-08 11:02:36
【问题描述】:

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

我想检查我的脚本内部是否存在配对,因此尽管其中一个配对不再可用,我的脚本仍将继续运行。比如,在 java 中,try-catch 之类的。

我尝试在security/input 函数上执行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)

这会绘图,但只要符号不存在,它就会编译,但你会收到一个 invalid_symbol 警告并且脚本会中断。

【问题讨论】:

    标签: pine-script


    【解决方案1】:

    不幸的是,这是不可能的。这不是 pine-script 本身的限制,而是 tradingview 运行研究(包括内置的)的方式:研究需要许多符号(一个或多个),并且只有当所有符号都准备好时,计算将开始。因此,如果系统检测到所需符号之一不存在或因任何原因无法询问(例如,该符号没有日内,但研究需要该符号的日内解析),那么该研究将被拒绝,即使没有开始任何逻辑。因此,在 tradingview 更改该工作流程之前,pine 将无法在此处支持您想要的行为。

    【讨论】:

      猜你喜欢
      • 2021-12-07
      • 2011-08-21
      • 1970-01-01
      • 2016-12-29
      • 2021-03-12
      • 1970-01-01
      • 2019-09-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多