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

编写仓位大小计算器时Plot函数在if语句中报错的问题排查

解决Pine Script仓位计算器的报错问题

报错原因

Pine Script v5的执行规则不允许在if/else代码块内部调用plot()这类绘图函数,绘图函数必须处于全局作用域,不能被条件分支逻辑包裹,这就是触发Mismatched input 'plot' expecting 'end of line without line continuation'错误的原因。

修正方案

直接使用math.min()函数获取两个仓位值的较小值,然后统一调用plot()即可,无需用条件分支判断。修正后的代码如下:

//@version=5
indicator("仓位大小计算器")

max_risk = 50
risk_per_share = 0.2
capital = 3000 
price = 6 

size_based_risk = max_risk / risk_per_share
size_based_capital = capital / price

// 直接取两个值的较小值并绘图
plot(math.min(size_based_risk, size_based_capital), title="建议仓位")

额外优化建议

如果后续要动态获取K线数据,可替换成Pine Script内置变量:

  • 最高价用high
  • 最低价用low
  • 收盘价用close

修改后的参数赋值示例:

risk_per_share = high - low
price = close

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 10:30:49