Pine script Pine中的IF条件-基于不同条件分配值

Pine script Pine中的IF条件-基于不同条件分配值,pine-script,Pine Script,我试图通过在内置的安全函数中使用带有周期/时间帧信息的变量来获取CCI值。下面IF条件中的时段/时间框架计算似乎不起作用:当我将其他_tf传递给安全函数时,我收到了未声明的标识符消息 任何关于在多个时间范围内平滑CCI值的专家意见也将不胜感激:) 问候 Sharad我们可以在这里使用一个示例来查看问题 如果当前\u tf是'1',该怎么办?在这种情况下,if语句都不会为true,因此它将跳过所有这些if,因此,other_tf将永远不会被分配到任何值,因此它将是未声明的(因为只有在if语句之一为

我试图通过在内置的安全函数中使用带有周期/时间帧信息的变量来获取CCI值。下面IF条件中的时段/时间框架计算似乎不起作用:当我将其他_tf传递给安全函数时,我收到了未声明的标识符消息

任何关于在多个时间范围内平滑CCI值的专家意见也将不胜感激:)

问候
Sharad

我们可以在这里使用一个示例来查看问题

如果
当前\u tf
'1'
,该怎么办?在这种情况下,if语句都不会为true,因此它将跳过所有这些if,因此,
other_tf
将永远不会被分配到任何值,因此它将是未声明的(因为只有在if语句之一为true时,才声明该变量)

您可以在检查之前声明它以防止此错误

current_tf = period
other_tf = '1'

if current_tf == '5'
    other_tf := '30'
if current_tf == '15'
    other_tf := '60'
if current_tf == '30'
    other_tf := '120'
if current_tf == '120'
    other_tf := 'D'

other\u tf='60'
不起作用-您应该使用
:=
分配运算符:
other\u tf:='60'
。我想默认值
other\u tf='1'
会更好。谢谢@Baris Yakut和Michel\u T。在做了建议的更改后,我遇到了一个新问题,无法将可变变量传递给安全表达式,我通过将代码包装到函数中解决了这个问题。
current_tf = period
other_tf = '1'

if current_tf == '5'
    other_tf := '30'
if current_tf == '15'
    other_tf := '60'
if current_tf == '30'
    other_tf := '120'
if current_tf == '120'
    other_tf := 'D'