首页 > 解决方案 > 仅在 N 个柱后退出交易(仅有时有效?)

问题描述

我正在修改一个策略,只在一定数量的蜡烛后退出交易。

我输入了一个输入timeframe(在脚本的输入部分)并在底部(barssince)设置了退出规则 - 它在很多时候都在工作,但一些交易仍然会更快结束。无法弄清楚是什么原因造成的。

还需要做什么才能使其仅在指定的柱数上退出交易?

这是脚本:https ://pastebin.com/8HQyJxa0 (更新)

似乎当设置更长的到期时间时,向上交易过早关闭向下交易,反之亦然。我真的需要两个交易能够同时运行,在指定的柱数后关闭timeframe

更新:显然使用strategy.position_size <= 0来指定没有股票或借来可以避免它关闭我当前的未平仓头寸 - 但不确定这如何适合当前脚本。

在此处输入图像描述

标签: pine-scripttradingalgorithmic-trading

解决方案


使用的问题strategy.opentrades == 0是它不考虑新的交易。因此,如果您先做多单,然后再做空,则计数不会重新开始,因为未平仓交易的数量是相同的,并且计数将保持与从多头订单开始一样。

这就是我喜欢使用 的原因strategy.position_size,因为它基于职位的数量。因此,如果数量发生变化,要么是因为关闭了一个仓位(因此它下降到 0),要么是因为打开了一个新仓位。因为它,我不得不将 1 添加到 bar 变量,但它有效。

opened_order = strategy.position_size[0] != strategy.position_size[1] and strategy.position_size[0] != 0
bars = barssince(opened_order) + 1
strategy.close_all(when=(bars>=timeframe))

推荐阅读