TradingView 'end of line without line continuation' 错误

TradingView 'end of line without line continuation' error

我不熟悉在交易视图中制定策略,所以我想寻求帮助。 如果有人可以帮助我,我将不胜感激!

我在第 14 行遇到语法错误:

line 14: syntax error at input 'end of line without line continuation'

第 14 行是 xATRTrailingStop :=

完整代码:

//@version=5
study(title="TEST/TEST", overlay = true)

////////////////////////////////////////////////////////////////////////////////INPUTS

nATRPeriod = input(21, "Period")
nATRMultip = input(6.3, "Multiplier",type=float, minval=0.5, maxval=1000, step=0.1)

/////////////////////////////////////////////////////////////////////////////////ATR

xATR = atr(nATRPeriod)
nLoss = nATRMultip * xATR
xATRTrailingStop = na
xATRTrailingStop :=
iff(close > nz(xATRTrailingStop, 0) and close > nz(xATRTrailingStop, 0), max(nz(xATRTrailingStop), close - nLoss),
iff(close < nz(xATRTrailingStop, 0) and close < nz(xATRTrailingStop, 0), min(nz(xATRTrailingStop), close + nLoss),
iff(close > nz(xATRTrailingStop, 0), close - nLoss, close + nLoss)))

pos = na
pos :=
iff(close < nz(xATRTrailingStop, 0) and close > nz(xATRTrailingStop, 0), 1,
iff(close > nz(xATRTrailingStop, 0) and close < nz(xATRTrailingStop, 0), -1, nz(pos, 0)))

color = pos == -1 ? red: pos == 1 ? lime : blue
//patr=plot(xATRTrailingStop, color=color, linewidth=2, title="ATR Trailing Stop", transp=0)

// Deternine if we are currently LONG
isLong = false
isLong := nz(isLong, false)

// Determine if we are currently SHORT
isShort = false
isShort := nz(isShort, false)

//Trading
// Buy only if the buy signal is triggered and we are not already long
LONG = not isLong and pos == 1

// Sell only if the sell signal is triggered and we are not already short
SHORT = not isShort and pos == -1

if (LONG)
isLong := true
isShort := false

if (SHORT)
isLong := false
isShort := true

barcolor(isLong ? lime : isShort ? red : na)

// Show Break Alerts
plotshape(SHORT, title="Sell", style=shape.labeldown, location=location.abovebar, size=size.normal, text="Sell", transp=0, textcolor = white, color=red, transp=0)
plotshape(LONG, title="Buy", style=shape.labelup, location=location.belowbar, size=size.normal, text="Buy", textcolor = white, color=green, transp=0)

// === /PLOTTING ===
// Send alert to TV alarm sub-system
alertcondition(LONG,title="Sell",message="Sell")
alertcondition(SHORT,title="BuY",message="Buy")
alertcondition(SHORT,title="BuY",message="Buy")
alertcondition(SHORT,title="BuY",message="Buy")

////////////////////////////////////////////////////////////////////////////////VWMA

len2 = input(100, minval=1, title="Smooth")
src = input(close, title="Source")
out = vwma(src, len2)

avg1=avg(out, xATRTrailingStop)
plot(avg1, color=aqua, transp=0, title="ATR")
//@version=4
study(title="TEST/TEST", overlay = true)

////////////////////////////////////////////////////////////////////////////////INPUTS

nATRPeriod = input(21, "Period")
nATRMultip = input(6.3, "Multiplier",type=input.float, minval=0.5, maxval=1000, step=0.1)

/////////////////////////////////////////////////////////////////////////////////ATR

xATR = atr(nATRPeriod)
nLoss = nATRMultip * xATR
float xATRTrailingStop = na
xATRTrailingStop := iff(close > nz(xATRTrailingStop, 0) and close > nz(xATRTrailingStop, 0), max(nz(xATRTrailingStop), close - nLoss), iff(close < nz(xATRTrailingStop, 0) and close < nz(xATRTrailingStop, 0), min(nz(xATRTrailingStop), close + nLoss), iff(close > nz(xATRTrailingStop, 0), close - nLoss, close + nLoss)))

int pos = na
pos := iff(close < nz(xATRTrailingStop, 0) and close > nz(xATRTrailingStop, 0), 1, iff(close > nz(xATRTrailingStop, 0) and close < nz(xATRTrailingStop, 0), -1, nz(pos, 0)))

color = pos == -1 ? color.red: pos == 1 ? color.lime : color.blue
//patr=plot(xATRTrailingStop, color=color, linewidth=2, title="ATR Trailing Stop", transp=0)

// Deternine if we are currently LONG
isLong = false
isLong := nz(isLong, false)

// Determine if we are currently SHORT
isShort = false
isShort := nz(isShort, false)

//Trading
// Buy only if the buy signal is triggered and we are not already long
LONG = not isLong and pos == 1

// Sell only if the sell signal is triggered and we are not already short
SHORT = not isShort and pos == -1

if (LONG)
    isLong := true
    isShort := false

if (SHORT)
    isLong := false
    isShort := true

barcolor(isLong ? color.lime : isShort ? color.red : na)

// Show Break Alerts
plotshape(SHORT, title="Sell", style=shape.labeldown, location=location.abovebar, size=size.normal, text="Sell", transp=0, textcolor = color.white, color=color.red, transp=0)
plotshape(LONG, title="Buy", style=shape.labelup, location=location.belowbar, size=size.normal, text="Buy", textcolor = color.white, color=color.green, transp=0)

// === /PLOTTING ===
// Send alert to TV alarm sub-system
alertcondition(LONG,title="Sell",message="Sell")
alertcondition(SHORT,title="BuY",message="Buy")
alertcondition(SHORT,title="BuY",message="Buy")
alertcondition(SHORT,title="BuY",message="Buy")

////////////////////////////////////////////////////////////////////////////////VWMA

len2 = input(100, minval=1, title="Smooth")
src = input(close, title="Source")
out = vwma(src, len2)

avg1=avg(out, xATRTrailingStop)
plot(avg1, color=color.aqua, transp=0, title="ATR")