日线周期下如何实时判断当前K线为当月最后交易日?
实时判断日线是否为当月最后交易日的方法
你的需求完全可行,原来的写法属于滞后性标记——只有等次月第一根K线出现后,才能反推上月最后交易日,所以必须靠offset=-1回退显示。要实现7月31日当天就触发提示,得换一种判断逻辑:
核心思路是:判断当前K线的下一根交易日K线是否属于下个月,如果是,那当前K线就是当月最后交易日。
修改后的Pine Script代码如下:
//@version=5 indicator("当月最后交易日实时标记", overlay=true) // 核心判断条件:下一根K线的月份与当前K线不同 is_last_trading_day = month(ta.nextbar_time()) != month(time) // 在当前K线下方标记提示 plotshape(is_last_trading_day, title="月线收官", location=location.belowbar, color=color.new(color.red, 0), style=shape.labelup, text="最后交易日", textcolor=color.white, size=size.small)
代码说明:
ta.nextbar_time():返回下一根K线的开盘时间,在日线框架下就是下一个交易日的开盘时间(自动跳过周末、节假日等非交易日)- 通过对比下一根K线的月份和当前K线的月份,就能在当前K线运行时直接判定是否为当月最后交易日,完全不需要等次月K线
原来的写法逻辑是“事后确认”,而这个方法是“事前预判”,完美解决你要实时触发的需求。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

