You need to enable JavaScript to run this app. Pine Script多仓位场景下各订单独立设置固定止损止盈问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

Pine Script多仓位场景下各订单独立设置固定止损止盈问题咨询

问题根因
  • 最初所有入场订单都使用固定的HildayBuy作为订单ID,Pine Script中同ID的入场订单会被视为同一组,调用strategy.exit()时会统一修改整组订单的止损止盈参数,这是旧出场条件被覆盖的核心原因。
  • 你后续使用时间生成唯一订单ID的思路完全正确,只需要补充细节即可实现需求。
可行实现方案

你修改后的代码基本可用,补充2个优化点即可避免异常情况:

  1. 若同一根K线可能触发多次入场信号,可叠加全局计数器避免time重复导致ID冲突,示例代码如下:
// 顶部声明全局计数器
var int buyOrderCounter = 0

if (showBuySig)
    // 每次触发买入信号计数器+1,拼接生成唯一ID
    buyOrderCounter += 1
    IDnumBuy = "Buy_" + tostring(time) + "_" + tostring(buyOrderCounter)
    BuyStopPrice = close - (close - atrSell)
    BuyLimitPrice = close + ((close - atrSell)*1.5)
    // 入场订单使用唯一ID
    strategy.entry(IDnumBuy, strategy.long, comment="Buy Entry: "+tostring(close)+" TP:"+tostring(BuyLimitPrice)+" SL:"+tostring(BuyStopPrice)+" ID:"+IDnumBuy)
    // exit的第二个参数绑定对应入场的唯一ID,仅修改该笔入场的出场规则
    strategy.exit("Exit_" + IDnumBuy, IDnumBuy, stop = BuyStopPrice, limit = BuyLimitPrice, comment="SL/TP")
  1. 确认策略的金字塔加仓参数配置正确,在策略设置中把Pyramiding值设为你需要的最大加仓次数(比如你之前设置的10),同时关闭Close all when entry signal is reversed这类会统一平掉所有持仓的选项。
验证方法

运行策略后打开「交易列表」,查看每笔入场订单对应的止损、止盈数值,确认不同入场订单的出场参数互不相同即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 08:36:02