Tradingview Pine 脚本“strategy.exit”和“strategy.close”不尊重“from_entry”值

Tradingview Pine script `strategy.exit` and `strategy.close` don't respect `from_entry` value

我的策略中有几个不同的入场点,我想为它们分别设置止损:

// @version=4
strategy("Test strategy")
strategy.entry("E0", strategy.long, limit=10000, when=close[1] > 10000)
strategy.entry("E1", strategy.long, limit=10000, when=close[1] > 10000)
strategy.exit("SL-E0", "E0", stop=9000)
strategy.exit("SL-E1", "E1", stop=9500)

据我了解文档 (https://www.tradingview.com/pine-script-reference/#fun_strategy{dot}exit) strategy.exit 的第二个参数应该导致退出仅适用于匹配的入口,但是查看交易列表(当应用于BTCUSD 在 2 小时的时间范围内 - 供参考)我看到了这个:

1   Entry Long  E0      2019-07-02 14:00    10000.0 
    Exit Long   SL-E1   2019-07-17 02:00    9500.0
2   Entry Long  E1      2019-07-02 14:00    10000.0
    Exit Long   SL-E0   2019-09-25 04:00    9000.0

所以应用了错误的止损。这是一个错误吗?我尝试了多种不同的退出调用配置,包括 loss 而不是 stop,以及将条件拉到外部:

if low < 9000
    strategy.exit("SL-E0", "E0")

都具有相同的效果,即“SL-E1”导致“E0”退出。

试试这个:

// @version=4
strategy("Test strategy", close_entries_rule="ANY")
strategy.entry("E0", strategy.long, limit=10000, when=close[1] > 10000)
strategy.entry("E1", strategy.long, limit=10000, when=close[1] > 10000)
strategy.exit("SL-E0", "E0", stop=9000)
strategy.exit("SL-E1", "E1", stop=9500)

在条目中,您应该有您的 TP 和 SL 目标价格 像 limit=close+10000*syminfo.mintickstop=close-10000*syminfo.mintick 如果是多头头寸

在出口处,你应该直接打勾 stop=9000(大约 900 点,很大)