你可以使用一个标志来做 LONG 和一个标志来做 SHORT。在 pine-script 中使用标志的重要一点是要记住使用历史引用运算符[]
来访问之前的状态。
下面是一个例子,你可以在任何时候做多close > ema55
,在任何时候做空close < ema55
。
//@version=3
study(title="LONG Test", shorttitle="Test", overlay=true)
lenEma55 = input(55, minval=1, title="Length EMA 55")
isLong = false
isLong := nz(isLong[1])
isShort = false
isShort := nz(isShort[1])
ema55 = ema(close, lenEma55)
plot(ema55, color=green, linewidth=2)
buyCondition = not isLong and close > ema55
sellCondition = isLong and close < ema55
if (buyCondition)
isLong := true
isShort := false
if (sellCondition)
isLong := false
isShort = true
plotshape(buyCondition, color=green, style=shape.arrowdown, text="LONG",location=location.belowbar)
plotshape(sellCondition, color=red, style=shape.arrowdown, text="SHORT",location=location.abovebar)