如何仅在日线时间框架(TF Daily)上绘制周线EMA?
在日线图上绘制周线EMA的Pine Script实现
问题修复与完整可运行代码
原代码存在变量未定义、语法错误等问题,以下是修正后的完整脚本:
//@version=5 indicator("日线图显示周线EMA", overlay=true) // 可自定义参数 ema_period = input.int(5, title="周线EMA周期") show_ema_weekly = input.bool(true, title="开启周线EMA显示") // 跨时间框架获取周线EMA数据 weekly_ema = request.security(syminfo.tickerid, "1W", ta.ema(close, ema_period), barmerge.gaps_on, barmerge.lookahead_off) // 仅在日线图且开启显示时绘制线条 plot(timeframe.isdaily and show_ema_weekly ? weekly_ema : na, "周线EMA " + str.tostring(ema_period), linewidth=2, color=color.new(color.gray, 50))
核心代码说明
request.security():跨时间框架调用周线数据,barmerge.lookahead_off确保无未来函数,避免信号漂移timeframe.isdaily:判断当前图表是否为日线时间框架,满足条件才执行绘制逻辑input系列函数:允许用户调整EMA周期、开关显示状态,提升脚本灵活性- 三元表达式
condition ? value : na:仅满足条件时绘制线条,否则返回na隐藏元素
原代码问题点
- 未定义
ma1、EmaW5、print_5等关键变量 - 第二行语法错误:缺少三元表达式的冒号
- 未指定Pine Script版本,存在兼容风险
内容的提问来源于stack exchange,提问作者JosephHazard
相关产品推荐
相关产品推荐

