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

TradingView PineScript技术问询:按特定时间K线高低价绘水平线

在TradingView PineScript中定位特定时间K线并绘制高低价水平线

核心思路

通过PineScript的时间函数匹配目标K线的开盘时间,捕捉对应K线的最高价/最低价后,用水平线工具将其绘制在图表上。以下是具体实现步骤和完整代码:

步骤1:设置可配置的目标时间参数

先定义输入参数,让你可以灵活调整目标小时和分钟,不用每次修改代码:

//@version=5
indicator("特定时间K线高低价水平线", overlay=true)

// 定义目标时间参数
targetHour = input.int(10, title="目标小时", minval=0, maxval=23)
targetMinute = input.int(0, title="目标分钟", minval=0, maxval=59)

步骤2:匹配目标K线

利用time函数获取当前K线的开盘时间,提取小时和分钟后与目标时间对比。默认使用交易所时区,如果需要本地时区,可给time函数添加timezone参数(比如time(timezone="Asia/Shanghai")):

// 判断当前K线是否是目标时间的开盘K线
isTargetBar = hour(time) == targetHour and minute(time) == targetMinute

步骤3:记录目标K线的高低价

用var关键字定义变量,确保只在第一次匹配到目标K线时记录价格,避免后续K线覆盖数据:

// 初始化变量,存储目标K线的高低价
var float targetHigh = na
var float targetLow = na

// 当匹配到目标K线时,更新高低价
if isTargetBar
    targetHigh := high
    targetLow := low

步骤4:绘制水平线

用hline函数绘制水平线,支持自定义颜色、线型等样式:

// 绘制最高价水平线
if not na(targetHigh)
    hline(targetHigh, "目标K线最高价", color=color.new(color.blue, 0), linestyle=hline.style_dashed, linewidth=2)

// 绘制最低价水平线
if not na(targetLow)
    hline(targetLow, "目标K线最低价", color=color.new(color.red, 0), linestyle=hline.style_dashed, linewidth=2)

完整代码

//@version=5
indicator("特定时间K线高低价水平线", overlay=true)

// 定义目标时间参数
targetHour = input.int(10, title="目标小时", minval=0, maxval=23)
targetMinute = input.int(0, title="目标分钟", minval=0, maxval=59)

// 判断当前K线是否是目标时间的开盘K线
isTargetBar = hour(time) == targetHour and minute(time) == targetMinute

// 初始化变量,存储目标K线的高低价
var float targetHigh = na
var float targetLow = na

// 当匹配到目标K线时,更新高低价
if isTargetBar
    targetHigh := high
    targetLow := low

// 绘制最高价水平线
if not na(targetHigh)
    hline(targetHigh, "目标K线最高价", color=color.new(color.blue, 0), linestyle=hline.style_dashed, linewidth=2)

// 绘制最低价水平线
if not na(targetLow)
    hline(targetLow, "目标K线最低价", color=color.new(color.red, 0), linestyle=hline.style_dashed, linewidth=2)

注意事项

  • 周期适配:确保目标时间是对应周期的开盘时间,比如15分钟周期下,只有00、15、30、45分钟的K线才会被匹配到,所以设置targetMinute为0、15等才有效。
  • 时区问题:默认使用交易所时区,若需要本地时区,修改time函数的timezone参数即可。
  • 无匹配情况:如果当天没有对应时间的K线(如节假日、休市),水平线不会显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 03:05:12