如何用Pine Script在TradingView绘制价格上方的双EMA指标?
用Pine Script实现位于价格上方的20周双EMA(Double EMA)
实现思路
双EMA(Double EMA)通过两次EMA计算并做差值来降低普通EMA的滞后性。若要让指标线稳定处于价格上方,可基于周线最高价计算双EMA,同时将线条设置为红色。
修改后的代码
//@version=5 indicator("Weekly Double EMA", overlay=true) // 设置红色指标线,可调整透明度(0为完全不透明,100为全透明) red_line_color = color.new(color.red, 0) // 请求周线级别数据并计算双EMA weekly_high = request.security(syminfo.tickerid, "W", high) ema_first = ta.ema(weekly_high, 20) ema_second = ta.ema(ema_first, 20) double_ema = 2 * ema_first - ema_second // 绘制双EMA线 plot(double_ema, color=red_line_color, linewidth=1)
关键说明
- 双EMA计算逻辑:先对周线最高价计算20周期EMA(
ema_first),再对该结果计算20周期EMA(ema_second),最终通过公式2*ema_first - ema_second得到双EMA,相比普通EMA滞后性更低。 - 价格上方定位:使用周线最高价(
high)而非收盘价计算,能让指标线更偏向价格走势的上方区域,匹配你的需求。 - 颜色调整:通过
color.new可以调整红色线条的透明度,按需修改第二个参数即可。
内容的提问来源于stack exchange,提问作者s_p
相关产品推荐
相关产品推荐

