I'm trying to understand a script in pine script. I can't find the reason for the different outputs for similar codes.
First code:
//@version=4
study("CE", overlay=true)
length = input(title="ATR Period", type=input.integer, defval=22)
mult = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
useClose = input(title="Use Close Price for Extremums ?", type=input.bool, defval=true)
longStop = (useClose ? highest(close, length) : highest(length)) - atr
longStopPrev = nz(longStop[1], longStop)
longStop := close[1] > longStopPrev ? max(longStop, longStopPrev) : longStop
plot(longStop)
Second Code
//@version=4
study("CE", overlay=true)
length = input(title="ATR Period", type=input.integer, defval=22)
mult = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
useClose = input(title="Use Close Price for Extremums ?", type=input.bool, defval=true)
longStop = (useClose ? highest(close, length) : highest(length)) - atr
longStopPrev = nz(longStop[1], longStop)
longStop2 = close[1] > longStopPrev ? max(longStop, longStopPrev) : longStop
plot(longStop2)
I couldn't understand why longStop and LongStop2 outputs are different. It seems := operator affect previous lines of the code.