PineScript策略报错:行尾无换行续行符问题求助
PineScript语法错误解决:end of line without line continuation
问题原因
你遇到的错误是因为PineScript的三元条件运算符(? :)在换行时未添加行延续符\,编译器判定baseStop = useAtrStops ?这行已结束,但后续仍有未闭合的逻辑,因此抛出报错。
修正后的代码
calculateRisk(entryPrice, isLong) => atr = ta.atr(atrLength) baseStop = useAtrStops ? \ (isLong ? \ (entryPrice - (atr * atrMultiplier)) : \ (entryPrice + (atr * atrMultiplier))) : \ (isLong ? \ ta.lowest(low, 5)[1] : \ ta.highest(high, 5)[1]) riskAmount = strategy.equity * riskPct stopDistance = math.abs(entryPrice - baseStop) positionSize = riskAmount / stopDistance tp = isLong ? \ (entryPrice + (stopDistance * rrRatio)) : \ (entryPrice - (stopDistance * rrRatio)) [positionSize, baseStop, tp]
关键修改说明
- 在所有三元运算符的
?和:之后、换行之前添加\,明确告知编译器当前行逻辑未完成,需延续至下一行 - 行延续符
\必须是该行的最后一个字符,后面不能附带空格或其他内容
内容的提问来源于stack exchange,提问作者Fugaz13
相关产品推荐
相关产品推荐

