Pine Script技术问询:如何在指定时间戳后第N根K线绘制竖线
Pine Script:在指定时间戳后第N根K线绘制垂直参考线
以下是实现需求的完整代码,适配任意时间框架:
//@version=5 indicator("时间戳后第N根K线竖线", overlay=true) // 自定义输入参数 startTime = input.time(timestamp("9 Feb 2023 00:00 +05:00"), "起始时间戳") targetBarOffset = input.int(11, "起始时间后第N根K线", minval=1) // 初始化跟踪变量 var bool startFound = false var int postStartBarCount = 0 // 定位起始时间戳对应的K线并开始计数 if time >= startTime and not startFound startFound := true postStartBarCount := 0 if startFound postStartBarCount += 1 // 到达目标K线时绘制垂直参考线 if postStartBarCount == targetBarOffset line.new(bar_index, high, bar_index, low, color=color.red, width=2, style=line.style_solid)
代码说明
- 版本兼容:指定使用Pine Script v5,确保语法支持最新特性
- 输入灵活:通过
input.time和input.int提供可调整的参数,无需修改代码即可更改起始时间和偏移K线数 - 计数逻辑:用
var定义只初始化一次的变量,避免每根K线重置状态;找到起始时间后开始递增计数 - 竖线绘制:当计数达到设定的偏移值时,调用
line.new在当前K线位置绘制垂直参考线,样式可自行调整颜色、宽度
该代码在任意时间框架下都能准确工作,因为是基于K线数量而非时间周期计数。如果起始时间戳不在当前图表的显示范围内,竖线不会被绘制。
内容的提问来源于stack exchange,提问作者Parth
相关产品推荐
相关产品推荐

