Pine Script指标代码报错:mismatched character '\n' expecting '"' 修复咨询
修复Pine Script v5成交量指标的语法错误
核心错误原因(第3行报错)
第3行存在引号不匹配和语法格式错误:
- 字符串混用转义双引号
"与单引号',导致解析器无法识别字符串结束位置 - 参数赋值时存在多余空格,不符合Pine Script语法规范
完整修复步骤
- 统一用双引号包裹字符串,移除不必要的转义符
" - 修正变量赋值语法:所有变量定义添加
=,参数间用逗号分隔且无多余空格 - 修复运算符错误:将减号
-替换为赋值等号=(如color-color.new→color=color.new),乘法运算添加*(如ta.sma(...) 0.5→ta.sma(...) * 0.5) - 修正笔误:将
SMA08改为SMA88,移除无意义的I和SMALong空行 - 修复三元运算符结构:补充缺失的比较运算符
>,调整为Pine支持的嵌套三元格式 - 修正数组访问语法:移除
volume [1]中的空格,改为volume[1]
修正后的完整代码
//@version=5 // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // Sajid Khan Ghori indicator(title="Volume Analysis", shorttitle="Relative Volume [ND]", overlay=false) length1 = input.int(14, minval=1, title="SMA length") SMA88 = plot(ta.sma(volume, length1) * 0.5, color=color.new(color.teal, 75), style=plot.style_area, title="Lowest SMA") SMA13 = plot(ta.sma(volume, length1) * 1.9, color=color.new(color.green, 75), linewidth=1, title="Middle SMA") SMA18 = plot(ta.sma(volume, length1) * 2.2, color=color.new(color.red, 75), linewidth=1, title="High SMA") SMA3 = plot(ta.sma(volume, length1) * 3.5, color=color.new(color.purple, 75), linewidth=1, title="Highest SMA") x = SMA3 fill(SMA13, SMA88, color=color.new(#0965f5, 81)) fill(SMA13, SMA18, color=color.new(#ffcdd2, 61)) fill(SMA3, SMA18, color=color.new(#e57373, 39)) colorx = volume < volume[1] and volume < volume[2] ? #f321cb : (volume > volume[1] or volume > volume[2]) and open < close ? color.blue : (volume > volume[1] or volume > volume[2]) and open > close ? color.red : color.black plot(ta.sma(volume, length1), style=plot.style_line, color=color.new(color.black, 0), linewidth=2, title="MA line") SMABody = plot(volume, style=plot.style_histogram, linewidth=4, color=colorx, title="VOLUME", transp=0)
内容的提问来源于stack exchange,提问作者Farhat ullah
相关产品推荐
相关产品推荐

