You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编写双EMA填充脚本PineScript编译报错及版本疑问求助

Pine Script EMA填充脚本错误修正方案

编译失败的核心问题

  • 无效冗余代码:第一行ta=lib.ema属于无意义赋值,直接触发编译错误,需删除。
  • 颜色输入类型不匹配:原脚本用字符串(如"red")作为颜色输入,但plot和fill函数的color参数要求颜色类型值,而非字符串,类型不兼容导致报错。
  • fill函数参数错误:Pine Script v5中fill需要接收两个plot生成的对象ID,不能直接传入EMA指标的计算数值。

修正后的完整代码

//@version=5
indicator("双EMA填充", overlay=true)

// 定义第一条均线参数
length1 = input.int(14, minval=1, title="均线1周期", group="设置")
color1 = input.color(color.red, title="均线1颜色", group="设置")

// 定义第二条均线参数
length2 = input.int(50, minval=1, title="均线2周期", group="设置")
color2 = input.color(color.blue, title="均线2颜色", group="设置")

// 定义填充颜色参数
fill_color_above = input.color(color.new(color.green, 70), title="EMA1在上时填充色", group="设置")
fill_color_below = input.color(color.new(color.orange, 70), title="EMA1在下时填充色", group="设置")

// 计算EMA
ema1 = ta.ema(close, length1)
ema2 = ta.ema(close, length2)

// 绘制均线并保存plot对象
p1 = plot(ema1, color=color1, title="EMA1")
p2 = plot(ema2, color=color2, title="EMA2")

// 根据EMA位置填充区域
fill(p1, p2, color=ema1 > ema2 ? fill_color_above : fill_color_below)

版本说明

只要脚本开头声明//@version=5,就会使用Pine Script v5版本。TradingView平台原生支持v5,无需额外升级操作,直接编写v5脚本即可。

内容的提问来源于stack exchange,提问作者Tyler Fredrickson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 15:07:08