在安全表达式变量中使用变量(不能在 security() 中使用可变变量)

Use variables in security expression variable (cannot use a mutable variable in security())

这是我的 Pinescript 代码。问题是,我有以下错误:Cannot use a mutable variable as an argument of the security function. 你知道我如何在 security() 函数中使用我的布尔变量 toz 吗?

TD = 0
TS = 0

if close > close[4]
    TD := TD[1]+1
if close < close[4]
    TS := TS[1]+1

TDUp = TD - valuewhen(TD < TD[1], TD , 1 )
TDDn = TS - valuewhen(TS < TS[1], TS , 1 )
bool toz = (TDDn==9) //or (TDDn==9)
customFunc() => toz

s1  = security('BTCUSD',  'D', customFunc())

尝试将整个计算移动到函数中:

//@version=4
study(title="My Script")

customFunc() =>
    TD = 0
    TS = 0

    if close > close[4]
        TD := TD[1]+1
    if close < close[4]
        TS := TS[1]+1

    TDUp = TD - valuewhen(TD < TD[1], TD , 1 )
    TDDn = TS - valuewhen(TS < TS[1], TS , 1 )
    (TDDn==9) //or (TDDn==9)

s1  = security('BTCUSD',  'D', customFunc())

plot(s1 ? 1 : 0)