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

Pine Script多strategy.entry/exit未触发及持仓规模配置咨询

问题根因

该现象是Pine Script策略的两个默认配置导致的:

  • pyramiding参数默认值为0,代表禁止同一方向的多笔持仓,只要当前存在未平仓的同方向仓位,后续触发的同方向strategy.entry会被直接拦截
  • 策略默认按全仓比例计算进场仓位,未平仓时没有剩余可用额度分配给新的进场订单

调整方案

你确实需要先明确总持仓规模的限制,再为每笔订单单独配置对应仓位,完整调整步骤如下:

1. 修改策略基础配置放开加仓限制

在strategy()初始化语句中调整核心参数:

strategy(
    title = "你的策略名称",
    pyramiding = 10, // 允许的最大同时持仓笔数,按需调整,设为999代表无限制
    default_qty_type = strategy.cash, // 按固定现金计算仓位
    default_qty_value = 1000, // 每笔订单默认使用1000单位的计价货币进场
    initial_capital = 10000, // 总初始资金
    overlay = true
)

以上配置下,策略默认最多可同时开10笔互不干扰的持仓,每笔占用1000单位资金,总占用不超过初始资金的上限。

2. 为每笔进出场订单指定独立ID

每笔strategy.entry需设置唯一的id参数,出场时通过指定对应进场ID实现单仓单独平仓,避免误平其他持仓:

// 第一类多单信号
if longCondA
    strategy.entry(id = "long_a", direction = strategy.long)
// 第一类多单出场
if exitCondA
    strategy.exit(id = "exit_a", "long_a", limit = tpA, stop = slA)

// 第二类多单信号
if longCondB
    strategy.entry(id = "long_b", direction = strategy.long)
// 第二类多单出场
if exitCondB
    strategy.exit(id = "exit_b", "long_b", limit = tpB, stop = slB)

3. 自定义总仓位和单笔仓位规则

如果需要更灵活的仓位控制,可以先定义全局总持仓上限,再按持仓笔数拆分每笔的仓位额度:

// 总持仓上限为当前权益的80%
total_pos_limit = strategy.equity * 0.8
// 允许同时持有4笔持仓,每笔占用20%权益
per_pos_qty = (strategy.equity * 0.2) / close

在调用strategy.entry时手动指定qty = per_pos_qty即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:15:03