Pine 脚本收到 "error at syntax"

Pine Script receiving an "error at syntax"

我收到这个错误:

Syntax error at input "result"

我是 pine 脚本的新手,不知道如何解决这个问题;有人可以帮忙吗?

//@version=4
len = input(title="Length", type=input.integer, defval=20)

var result = 0.0 
 

di_func(dirup) =>
    TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1])))
    DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0
    DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0
    SmoothedTrueRange = 0.0
    SmoothedDirectionalMovementPlus = 0.0    
    SmoothedDirectionalMovementMinus = 0.0
    SmoothedTrueRange = nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/len) + TrueRange
    SmoothedDirectionalMovementPlus = nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/len) + DirectionalMovementPlus
    SmoothedDirectionalMovementMinus = nz(SmoothedDirectionalMovementMinus[1]) - (nz(SmoothedDirectionalMovementMinus[1])/len) + DirectionalMovementMinus
    dirup == true ? result := SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100 : result := SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
 
 
res = input(title="Resolution", type=input.resolution, defval="5")
s1 = security(syminfo.tickerid, res, di_func(true), gaps=true)
s2 = security(syminfo.tickerid, res, di_func(false), gaps=true)
bgcolor(s1>s2 ? color.new(color.green,70) : s1<s2 ? color.new(color.red,70) : na, title="Adx 5 bg")

错误的行已被注释掉,并被更正所取代。
还添加了一个 study() 标签。

//@version=4
study("Script", "", overlay=true)

len = input(title="Length", type=input.integer, defval=20)

var result = 0.0 
 

di_func(dirup) =>
    TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1])))
    DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0
    DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0
    SmoothedTrueRange = 0.0
    SmoothedDirectionalMovementPlus = 0.0    
    SmoothedDirectionalMovementMinus = 0.0
    // SmoothedTrueRange = nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/len) + TrueRange
    // SmoothedDirectionalMovementPlus = nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/len) + DirectionalMovementPlus
    // SmoothedDirectionalMovementMinus = nz(SmoothedDirectionalMovementMinus[1]) - (nz(SmoothedDirectionalMovementMinus[1])/len) + DirectionalMovementMinus
    // dirup == true ? result := SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100 : result := SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
    SmoothedTrueRange := nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/len) + TrueRange
    SmoothedDirectionalMovementPlus := nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/len) + DirectionalMovementPlus
    SmoothedDirectionalMovementMinus := nz(SmoothedDirectionalMovementMinus[1]) - (nz(SmoothedDirectionalMovementMinus[1])/len) + DirectionalMovementMinus
    (dirup ? SmoothedDirectionalMovementPlus : SmoothedDirectionalMovementMinus) / SmoothedTrueRange * 100
 
 
res = input(title="Resolution", type=input.resolution, defval="5")
s1 = security(syminfo.tickerid, res, di_func(true), gaps=true)
s2 = security(syminfo.tickerid, res, di_func(false), gaps=true)
bgcolor(s1>s2 ? color.new(color.green,70) : s1<s2 ? color.new(color.red,70) : na, title="Adx 5 bg")