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

请求编写Pine脚本:日内1分钟K线成交量分级变色

解决1分钟K线成交量分级着色问题

功能实现代码

//@version=5
indicator("当日成交量分级着色", overlay=true)

// 检测交易日切换,用于重置计算
is_new_day = ta.change(time("D"))

// 计算当日最高成交量,每日自动重置范围
daily_highest_vol = ta.highest(volume, ta.barssince(is_new_day) + 1)

// 定义K线颜色规则
bar_color = if volume == daily_highest_vol
    color.white
else if volume > daily_highest_vol * 0.5
    color.yellow
else
    na  // 保留默认K线颜色

// 应用颜色到K线
barcolor(bar_color)

// 可选:显示当日最高成交量数值(新手辅助查看)
var label vol_label = label.new(na, na, "", color=color.white, textcolor=color.black, style=label.style_label_down)
if is_new_day or volume == daily_highest_vol
    label.set_xy(vol_label, bar_index, high)
    label.set_text(vol_label, str.tostring(daily_highest_vol, "当日最高量: #,##0"))

代码关键逻辑说明

  • 交易日重置:通过ta.change(time("D"))识别每日开盘节点,确保成交量统计范围仅限定在当前交易日内。
  • 当日最高量计算:ta.highest(volume, ta.barssince(is_new_day)+1)动态统计当日从开盘到当前K线的成交量最大值,每日自动重置统计区间。
  • 着色规则:
    • 成交量等于当日最高值的K线,标记为白色;后续出现更高成交量的K线,会自动替换当日最高值并同样显示白色。
    • 成交量超过当日最高值50%的K线,标记为黄色。
    • 其余K线保持默认颜色,避免干扰正常走势观察。

原参考脚本问题分析

你提供的参考脚本无法运行的核心原因:

  • 错误使用var声明highest_volume,var变量只会初始化一次,无法实现每日重置统计的需求。
  • 冗余的label_array数组操作,需求仅需修改K线颜色,无需复杂的标签管理逻辑。
  • 缺少核心的barcolor函数,未实际实现K线着色的功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 16:52:46