需要帮助将Pinescript版本1更新到版本4

问题描述 投票:-1回答:1
//@version=1
study(title="ATR Stops", overlay = true)

nATRPeriod = input(20, title = "ATR Period")
nATRMultip = input(2, title = "ATR Multiplier")

xATR = atr(nATRPeriod)
nLoss = nATRMultip * xATR

xATRTrailingStop = iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss),
                    iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss), 
                        iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))

pos =   iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1,
        iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 

color = pos == -1 ? red: pos == 1 ? green : blue 

plot(xATRTrailingStop, color=color, title="ATR Trailing Stop")
updates algorithmic-trading trading pine-script
1个回答
0
投票
//@version=4
study(title="ATR Stops", overlay=true)

nATRPeriod = input(20, title="ATR Period")
nATRMultip = input(2, title="ATR Multiplier")

xATR = atr(nATRPeriod)
nLoss = nATRMultip * xATR

xATRTrailingStop = 0.0
xATRTrailingStop := iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss), iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss), iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))

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

clr = pos == -1 ? color.red : pos == 1 ? color.green : color.blue

plot(xATRTrailingStop, color=clr, title="ATR Trailing Stop")
© www.soinside.com 2019 - 2024. All rights reserved.