gpt4 book ai didi

pine-script - 为单次入场设置多个止损离场订单

转载 作者:行者123 更新时间:2023-12-03 16:38:38 25 4
gpt4 key购买 nike

在交易 View 的策略中,我输入了一个条目并有一个设置追踪止损的条件。同时我想要一个固定价格的止损单,但是当我下了两个strategy.exit()命令,实际上只使用了一个,因为两者都是“停止”类型。但是可以通过调用 strategy.exit() 将退出命令替换为另一个退出命令。并给它相同的 id。所以我的想法是用另一个替换一个退出并返回,当它适合我时,这样只有一个退出订单同时处于事件状态。

假设我有一个策略,有条件进入一个特定价格的头寸,例如 conditionEnterenterPrice ,进场时我也知道止损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)

现在,如果 conditionTrailingStopLoss满足,我相应地替换它:
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)

看到一些退出已被执行,但我从未看到两个订单都被执行。但是,更改命令的顺序确实会影响忽略这两者中的哪一个。如果在上面的代码中我更改了 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)

关于pine-script - 为单次入场设置多个止损离场订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56879064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com