PineScript = 添加输入到 atr 止损

PineScript = Adding input to atr stoploss

我想为仅绘制多头 atr 止损做一个新的输入。

atr SL 脚本:

// Stop Loss inputs atr     
var atr_sl = "ATR Stoploss"    
longLossPerc = input(title="Long Stop Loss (%)",type=input.float, group = atr_sl,minval=0.0, step=0.1, defval=1) * 0.01    
atrLength = input(title="ATR Length", type=input.integer, group = atr_sl,defval=6, minval=1)    
userStructure = input(title="Use Structure", type=input.bool, group = atr_sl, defval=true)    
lookback = input(title="How far to look back for High/Low",type=input.integer,group = atr_sl,defval=7, minval=1)    
atrStopMultiplier = input(title="ATR x ? ", type=input.float, group = atr_sl,defval=1.0, minval=0.1)    
plotLong = input(title="Long ATR", type=input.bool, group= atr_sl, defval=false)

// calculate data atr    
longStopPrice = strategy.position_avg_price * (1 - longLossPerc)    
atr=atr(atrLength)    
longStop = (userStructure ? lowest(low, lookback) : close) - atr * atrStopMultiplier    
shortStop = (userStructure ? highest(high,lookback) : close) + atr * atrStopMultiplier

我应该使用 if (plotLong == true) 参数来绘制这个脚本吗?如果是怎么办?

// plot
plot(longStop, color=color.green, style=plot.style_linebr, title="Long Trailing Stop-ATR")

您不能在 if 块中绘图。您可以做的是,为 enable/disable 绘图创建一个输入。

plotAtrSL = input(title="On/Off", type=input.bool, defval=true)

然后在plot()中使用这个变量作为条件。

plot(plotAtrSL ? longStop : na)

如果是 false,由于 `na.

,它不会绘制任何东西