编写Pine Script DEMA指标出现Mismatched input缩进报错如何解决
错误原因定位
- 核心错误是你将
indicator()声明、全部指标逻辑都包裹在一对圆括号内,还尝试整体赋值给dema变量,不符合Pine Script语法规则,直接触发了本次语法报错。 - Pine Script要求
indicator()必须是脚本顶层的独立声明语句,不能嵌套在赋值表达式、括号内部。 - 原代码还缺少Pine Script v5必需的版本声明头,就算修复括号问题也会触发额外报错。
修复后可正常运行的代码
//@version=5 indicator(title="Double EMA", shorttitle="DEMA", overlay=true, timeframe="", timeframe_gaps=true) length = input.int(200, minval=1) src = input(close, title="Source") e1 = ta.ema(src, length) e2 = ta.ema(e1, length) dema = 2 * e1 - e2 plot(dema, "DEMA", color=#43A047)
修复要点说明
- 删除了包裹全部代码的多余圆括号,以及最外层错误的
dema = (...)整体赋值逻辑 - 补充了v5版本必需的
//@version=5声明头 - 所有逻辑语句直接放在脚本顶层,不需要额外缩进,符合Pine Script语法规范
内容的提问来源于stack exchange,提问作者Washy
相关产品推荐
相关产品推荐

