如何编写脚本在当日首根K线收盘价处绘制水平线?
实现当日首根K线收盘价水平线(Pine Script)
核心思路
- 识别当日第一根K线:通过内置函数判断新交易日起始,用
var变量持久化存储首根K线的收盘价,避免后续K线覆盖该值 - 绘制水平线:基于存储的收盘价,用专用函数持续显示这条水平线
完整代码示例
//@version=5 indicator("当日首根K线收盘价水平线", overlay=true) // 初始化变量,var确保仅脚本启动时初始化一次 var float dailyFirstClose = na // 判断当前是否为新交易日的第一根K线 isNewDay = ta.newday() if isNewDay // 记录当日首根K线的收盘价 dailyFirstClose = close // 绘制水平线,仅当有有效值时显示 hline(dailyFirstClose, "当日首根收盘价", color=color.blue, linestyle=hline.style_dashed)
代码关键部分解释
var float dailyFirstClose = na:var关键字让变量值在整个脚本运行周期内保持,不会随每根K线重置,确保我们能稳定保留当日首根收盘价ta.newday():内置函数,根据图表时区和时间周期自动识别新交易日的第一根K线hline(...):专门用于绘制水平线的函数,支持自定义颜色、线型,让标记更清晰
自定义场景扩展
如果你的图表使用自定义时段(非标准交易日周期),可以替换新交易日判断逻辑:
// 基于日期变更判断新一天 isNewDay = ta.dayofmonth != ta.dayofmonth[1]
内容的提问来源于stack exchange,提问作者Ishh
相关产品推荐
相关产品推荐

