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

Pine Script strategy.entry函数报错及止损止盈逻辑实现求助

问题解决:Pine Script 止损限价单类型不匹配报错

报错原因

你把布尔类型的buySignal直接传给了strategy.entry的stop和limit参数,这两个参数需要具体的价格数值(浮点型),而非布尔值(true/false),所以触发类型不匹配错误。

修正方案

按照你的逻辑,我们需要在buySignal满足时,分别计算止损价和限价的具体数值,再传入订单函数,同时用when参数控制订单触发时机。

完整修正代码

// 原买卖信号逻辑
buySignal = low < lower[1] and close > lower and close > open or close > upper and ta.crossover(rsiValue, rsiOverbought) and close > open 
sellSignal = high > upper[1] and close < upper and close < open or close < lower and ta.crossunder(rsiValue, rsiOversold) and close < open 

// 计算止损限价单的价格(仅在信号触发时赋值)
longStopPrice = buySignal ? low[1] - 15 * syminfo.mintick : na
longLimitPrice = buySignal ? high + 15 * syminfo.mintick : na

// 触发止损限价多单
strategy.entry("Enter Long", strategy.long, 
    stop=longStopPrice, 
    limit=longLimitPrice, 
    oca_name="entries", 
    oca_type=strategy.oca.cancel,
    when=buySignal)

代码说明

  • longStopPrice:当buySignal为true时,取前一根K线最低价减15个最小变动单位;否则设为na(无效值)
  • longLimitPrice:当buySignal为true时,取当前K线最高价加15个最小变动单位;否则设为na
  • when=buySignal:指定仅在信号触发时执行订单,避免非信号K线生成无效订单
  • 确保stop和limit参数传入的是浮点型价格,完全符合Pine Script的参数类型要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 06:28:18