Pine Script报错:输入'lowestLow'不匹配,期望无续行的行尾
Pine Script语法错误排查与解决:"lowestLow不匹配,期望无续行的行尾"
错误原因
这个语法错误的核心是违反了Pine Script的if语句规则:当if条件需要执行多行代码时,必须通过缩进(或显式大括号)明确标记出整个代码块的范围。你的代码中if buyEntry后没有指定代码块边界,编译器仅将下一行视为if的执行内容,后续的lowestLow = ...等代码被当成独立语句,引发语法冲突。
修正后的代码
if buyEntry lowestLow = lowest(source, length) strategy.entry("BBandLE", strategy.long, qty=position_size, stop=lower, oca_name="BollingerBands", oca_type=strategy.oca.cancel, comment="BBandLE") lowestLowExit = strategy.exit("BBandLE", "BBandLE", stop=lowestLow, limit=lowestLow + take_profit_distance, trail_points=stop_loss_distance, comment="TP")
关键修正点
- 给
if buyEntry后的所有执行代码添加统一缩进,明确它们属于该条件的执行块(Pine Script支持缩进替代大括号,也可以显式添加{}包裹代码块,效果一致); - 确保
lowestLow变量定义、strategy.entry和strategy.exit这三行逻辑都归属于buyEntry条件触发的执行流程。
内容的提问来源于stack exchange,提问作者VHX TV
相关产品推荐
相关产品推荐

