You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何使TP线仅绘制最近的longentry/shortentry信号?

仅绘制最近止盈(TP)线的Pine Script实现方案

你的当前代码会绘制所有触发longentry/shortentry信号后的TP线,要实现只显示最近一次信号对应的TP线,可以通过跟踪最近信号的位置和对应TP价格来实现,修改后的代码如下:

//@version=5
indicator("最近信号TP线", overlay=true)

// 请替换为你实际的longentry/shortentry信号条件
longentry = ta.crossover(ta.sma(close, 5), ta.sma(close, 20))
shortentry = ta.crossunder(ta.sma(close, 5), ta.sma(close, 20))

// 存储最近一次信号的bar索引、对应TP价格及信号类型
var int lastSignalBar = na
var float lastTP = na
var bool isLastLongSignal = na

// 更新最近信号的记录
if longentry
    lastSignalBar := bar_index
    lastTP := open + 0.0023
    isLastLongSignal := true
if shortentry
    lastSignalBar := bar_index
    lastTP := open - 0.0023
    isLastLongSignal := false

// 仅绘制最近信号之后的TP线
plot(bar_index >= lastSignalBar ? lastTP : na, "最近TP", color=isLastLongSignal ? color.green : color.red, linewidth=1)

关键逻辑说明

  • 用var关键字声明变量,确保它们在脚本运行全程保留值,不会随每个bar重置。
  • 触发多/空信号时,同步更新最近信号的bar索引、TP价格,以及标记信号类型(多/空)。
  • 绘图时通过bar_index >= lastSignalBar判断,仅在最近信号之后的bar上绘制对应TP线,之前的bar返回na(不显示)。

可选优化

代码中已通过isLastLongSignal区分多空信号,TP线会用绿色(多单)和红色(空单)显示,你可以根据需求自行调整颜色参数。

内容的提问来源于stack exchange,提问作者Parabolic1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 08:22:43