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

编写Ichimoku突破策略指标遇第15行编译错误,请求技术支持

Ichimoku突破策略指标编译错误修复(第15行)

错误原因

第15行的编译错误源于Pine Script v5自定义函数返回多值的语法不符合规范:原代码用圆括号()包裹多个返回值,编译器无法识别逗号作为多值分隔符,因此抛出"Mismatched input ',' expecting ')'"错误。

修复方案

将返回多值的语法从圆括号改为方括号[],这是Pine Script v5定义多值返回tuple的标准写法。

修复后的完整代码

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © sagadsagode

//@version=5

// Ichimoku Breakout strategy

// Input parameters
conversionPeriods = input(9, minval=1, title="Conversion Line Length")
basePeriods = input(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input(52, minval=1, title="Leading Span B Length")
displacement = input(26, minval=1, title="Lagging Span")

// Calculate Ichimoku Cloud
donchian(len) => [highest(len), lowest(len)]  // 修复此处的语法错误
conversionLine = donchian(conversionPeriods)[0]
baseLine = donchian(basePeriods)[0]
leadLine1 = (conversionLine + baseLine) / 2
leadLine2 = donchian(laggingSpan2Periods)[0]

// Plot Ichimoku Cloud
plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")
plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7, title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A, title="Leading Span B")
plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Upper Line", display = display.none)
plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Lower Line", display = display.none)
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))

// Identify trend
trendUp = close > leadLine1
trendDown = close < leadLine1

// Identify breakouts
breakoutUp = ta.crossover(close, leadLine1)
breakoutDown = ta.crossunder(close, leadLine1)

// Buy/sell signals
buySignal = trendUp and breakoutUp
sellSignal = trendDown and breakoutDown

// Plot signals
plot(buySignal ? close : na, color=color.green, linewidth=5, title="Buy Signal")
plot(sellSignal ? close : na, color=color.red, linewidth=5, title="Sell Signal")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 20:15:42