Pine script 为单次进入下多个停止退出命令

Pine script 为单次进入下多个停止退出命令,pine-script,Pine Script,在tradingview上的策略中,我输入一个条目,并有一个条件设置一个尾随停止。同时,我想要一个固定价格的止损单,但当我放置两个strategy.exit()命令时,实际上只使用了一个,因为这两个命令都是“stop”类型。但是可以通过调用strategy.exit()并为其提供相同的id,将一个退出单替换为另一个退出单。因此,我的想法是在适合我的情况下,将一个退出单替换为另一个退出单,这样在同一时间只有一个退出单处于活动状态 假设我有一个策略,该策略有一个条件,即以一定的价格进入一个头寸,例如

在tradingview上的策略中,我输入一个条目,并有一个条件设置一个尾随停止。同时,我想要一个固定价格的止损单,但当我放置两个
strategy.exit()
命令时,实际上只使用了一个,因为这两个命令都是“stop”类型。但是可以通过调用
strategy.exit()
并为其提供相同的id,将一个退出单替换为另一个退出单。因此,我的想法是在适合我的情况下,将一个退出单替换为另一个退出单,这样在同一时间只有一个退出单处于活动状态

假设我有一个策略,该策略有一个条件,即以一定的价格进入一个头寸,例如
conditionEnter
enterprise
,在输入时,我还知道止损
stopLossPrice
,因此我可以设置:

if conditionEnter
    strategy.entry(id="longEnter", long=true, qty=1, limit=enterPrice
strategy.exit(id="longExit", from_entry="longEnter", qty_percent=100, stop=stopLossPrice)
现在,如果满足
条件trailingstoploss
,我将相应地替换它:

if conditionTrailingStopLoss
    strategy.exit(id="longExit", from_entry="longEnter", qty=strategy.position_size * 0.2, trail_price=priceToTriggerTrailingStopLoss, trail_offset=100)
其中,
priceToTriggerTrailingStopLoss
等于或低于收盘价,因此立即放置尾随止损,并以100个刻度跟随价格。请注意,即使执行了它,也只会退出当前位置的五分之一

正如预期的那样,后续止损退出指令的放置会删除原始的止损退出指令——当使用不同的ID时,这甚至是真的。我想等到尾随止损已执行(已填充),然后再次下达止损退出指令。但是我如何确定执行的时间呢

我尝试了一些东西

if strategy.position_size < strategy.position_size[1]
    strategy.exit(id="longEnter", long=true, qty=1, limit=enterPrice
strategy.exit(id="longExit", from_entry="longEnter", qty_percent=100, stop=stopLossPrice)
if strategy.position\u size
查看是否执行了某些退出,但我从未看到两个命令都执行。更改命令的顺序确实会影响忽略这两个命令中的哪一个。如果在上面的代码段中,我将
id
更改为完全不同的内容,则三个退出命令都不会执行

有人能帮上忙吗?我的意思是想要一个固定止损和一个跟踪止损并不是很奇怪的愿望,它必须以某种方式起作用,对吗


编辑:如果我在图表中向后滚动,我确实会看到有时一个,有时另一个退出命令被执行,但对于同一个进入命令,仍然不会同时执行这两个命令。

我找到了一个解决方案,一个也可以使用
strategy.order()
命令执行止损命令,如下所示:

if conditionEnter
    strategy.entry(id="longEnter", long=true, qty=1, limit=enterPrice
    strategy.order(id="stopLossLong", long=strategy.short,qty=strategy.position_size, limit=syminfo.mintick, stop=stopLossPrice)