如何在Signal或strategy.entry指令处绘制竖线?优先calibEntry位置
在Pine Script中为calibEntry位置添加竖线
要在calibEntry对应的入场信号K线位置绘制垂直竖线,你可以使用Pine Script的line.new()函数,将其嵌入到做多入场的条件判断块中即可实现。以下是修改后的代码片段:
// Figure out take profit price calibEntry = close - (close * prforentry) longExitPrice = strategy.position_avg_price * (1 + longProfitPerc) shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc) // 用于存储竖线对象,避免重复绘制多条竖线 var line longEntryLine = na //Strategy Long Entry if ls strategy.entry("Long", strategy.long, limit = calibEntry) // 删除之前的旧竖线 line.delete(longEntryLine) // 在当前K线位置绘制垂直竖线,覆盖最近50根K线的高低区间 longEntryLine := line.new( x1 = bar_index, y1 = ta.lowest(50), x2 = bar_index, y2 = ta.highest(50), color = color.new(color.green, 0), width = 2, style = line.style_solid )
代码说明:
var line longEntryLine = na:声明持久化的竖线变量,存储每次绘制的竖线对象,避免同一信号下重复绘制多条竖线。line.delete(longEntryLine):绘制新竖线前删除旧竖线,确保图表只显示最新的入场信号竖线。line.new():通过设置x1和x2为当前K线的bar_index实现垂直竖线;y1和y2取最近50根K线的高低点,保证竖线覆盖有效价格区间;你可按需调整color(颜色)、width(线宽)、style(线型)等参数。
若想让竖线锚定在calibEntry价格附近,可将y1和y2设为calibEntry - close * 0.01和calibEntry + close * 0.01(以当前收盘价的1%作为竖线上下延伸范围),调整数值即可改变竖线长度。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

