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

如何为每笔交易绘制虚线与方框?交易连线绘制问题求助

Pine Script交易连线绘制问题排查与修复

你的脚本无法正确绘制进场离场连线,核心问题出在变量生命周期管理和坐标定位错误,具体问题及修复方案如下:

问题分析

  • 用var声明的entryPrice和exitPrice会永久保留值,第一笔交易完成后,后续所有K线都会触发画线逻辑,且无法对应正确的进场/离场K线对。
  • 画线时用bar_index[1]作为进场K线索引,这是错误的——进场和离场K线通常不连续,应该记录进场时的实际bar_index。
  • 交易完成后未重置变量,导致后续逻辑混乱。

修复后的代码

//@version=5
strategy("Linia transakcji", "JJJ", overlay=true)

// 移除var,或在交易完成后手动重置变量
float entryPrice = na
float exitPrice = na
int entryBar = na

enterTrade = ta.crossover(ta.sma(close, 50), ta.open)
if enterTrade
    entryPrice := close
    entryBar := bar_index  // 记录进场时的K线索引
    strategy.entry("Long", strategy.long)

// 离场条件增加非空判断,避免na参与计算
exitTrade = not na(entryPrice) and close >= entryPrice + 100 * syminfo.mintick
if exitTrade
    exitPrice := close
    strategy.close("Long")
    // 在离场成交时绘制连线
    line.new(x1 = entryBar, y1 = entryPrice, x2 = bar_index, y2 = exitPrice, color = color.blue, width = 2)
    // 重置变量,准备下一笔交易
    entryPrice := na
    exitPrice := na
    entryBar := na

修改说明

  • 新增entryBar变量记录进场K线的索引,确保连线起点准确对应进场位置。
  • 将画线逻辑移至离场触发的代码块内,仅在完成一笔交易时绘制一次连线。
  • 交易完成后手动重置所有交易相关变量,避免干扰后续交易逻辑。
  • 离场条件增加not na(entryPrice)判断,防止未进场时触发错误计算。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 18:20:12