请求修改EMA云代码:仅在15分钟及以上周期显示
修改后的EMA云Pine Script代码
实现思路
通过判断当前图表的时间周期是否大于等于15分钟,控制EMA线及云图的显示状态。使用timeframe.in_seconds()函数获取周期的总秒数,以此作为判断依据,确保覆盖所有15分钟及以上的时间周期(如30分钟、1小时、4小时、日线等)。
修改后的完整代码
//@version=5 indicator("EMA云(仅15分钟及以上周期显示)", overlay=true) // 判断是否为15分钟及以上时间周期 isValidTF = timeframe.in_seconds() >= 15 * 60 // 计算EMA指标 ema50 = ta.ema(hl2, 50) ema75 = ta.ema(hl2, 75) // 绘制EMA线,仅在有效周期显示 ema1 = plot(isValidTF ? ema50 : na, color=#2e39cc, style=plot.style_line, linewidth=1, display=isValidTF ? display.data_window : display.none) ema2 = plot(isValidTF ? ema75 : na, color=#2a2e39, style=plot.style_line, linewidth=1, display=isValidTF ? display.data_window : display.none) // 填充EMA云图,仅在有效周期显示 fill(ema1, ema2, color=ema50 > ema75 ? #cbe2de : #eacccc, editable=true, transp=55, display=isValidTF ? display.data_window : display.none)
关键修改点
- 周期判断:新增
isValidTF变量,通过timeframe.in_seconds() >= 15 * 60确认当前周期符合要求。 - 条件绘图:在
plot和fill函数中,仅当isValidTF为true时才绘制内容,否则传入na并设置display=display.none,避免在短周期下显示元素。 - 颜色优化:调整了EMA线的透明度设置(原代码中透明度接近完全透明),如果需要半透明效果,可自行修改
color参数的透明度值(如color.new(#2e39cc, 50))。
内容的提问来源于stack exchange,提问作者Ooga Booga
相关产品推荐
相关产品推荐

