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

PineScript中strategy.exit()的qty参数为何会自动变化?

PineScript strategy.exit() 动态平仓量运行逻辑解答

核心规则

  • strategy.exit() 创建的出场单属于和指定入场单绑定的从属出场单,你传入的qty参数是「最大可平仓量」,而非固定平仓值,实际执行时的平仓量会动态跟随对应入场单的剩余未平仓仓位调整,永远不会超过剩余可平量,避免出现超量平仓的非法操作。
  • 你通过strategy.order()创建的两个止盈空单,默认会优先平你指定的"long"入场单的仓位,当第一笔0.5手止盈单触发后,"long"入场单的剩余未平仓量就从1变成了0.5。

三种场景的运行逻辑对应

  1. 价格先触止损:此时"long"入场单剩余未平仓量为1,止损单按你设置的最大qty=1执行,直接平完全部仓位,两个未触发的止盈单会被系统自动撤销。
  2. 价格先后触发两个止盈:两笔止盈单各平0.5手,刚好把"long"入场单的1手仓位全部平完,未触发的止损单会被系统自动撤销。
  3. 先触发第一笔止盈再触止损:第一笔止盈平仓0.5后,"long"入场单剩余未平仓量仅剩0.5,止损单的实际可平仓量会被系统自动调整为0.5,因此触发后仅平0.5手,符合你的实测结果。

优化建议

你当前的分层止盈逻辑可以直接通过strategy.exit()的原生参数实现,不需要额外手动创建strategy.order,逻辑更简洁也更不容易出错,示例代码如下:

if enableTP2 and longCondition
    strategy.entry("long", strategy.long, 1)
    strategy.exit("long exit", "long", stop=longSL, limit=longTP, limit2=longTP2, qty_limit=0.5, qty_limit2=0.5)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:03:00