我正在为 TradingView 在 Pine Script 版本 5 中构建一个反转策略。
想象这样一种情况,您收到一些反转信号,比方说突破布林带上限或下限,您想要在 ATR 的某个倍数上下画线作为止损和利润目标。我可以做到这一点,但是,我似乎无法做到的有两件事:
您可以在第一张图片中看到缺陷示例。线条绘制在正确的位置。然而,当上线被突破时,它们会继续绘制,直到形成新的信号。在第二张图片中,您可以看到另一个缺陷,如果同一方向的信号出现,它会根据新信号重新定位线路,只有当信号来自相反方向时才会发生这种情况。
这里是相关代码。感谢您的任何帮助,您可以提供!即使是 ChatGPT 似乎也不知道该怎么做。
if rangeDotUp and (atr_stop or atr_target)
stopLine := close[1] - atr[1] * atr_stop_mult
targetLine := close[1] + atr[1] * atr_target_mult
else if rangeDotDown and (atr_stop or atr_target)
stopLine := close[1] + atr[1] * atr_stop_mult
targetLine := close[1] - atr[1] * atr_target_mult
else
stopLine := stopLine[1]
targetLine := targetLine[1]
plot(stopLine, style=plot.style_circles, color=color.gray, linewidth=1, title="ATR Stop Line")
plot(targetLine, style=plot.style_circles, color=color.gray, linewidth=1, title="ATR Target Line")