当交易日结束时前一天的EOD已关闭时,代码将在第二天重新进入交易。
当我在strategy.close_all()条件中使用基于时间的退出时,该问题就存在了。如果我删除了该笔交易,并且交易在strategy.exit()的基础上退出,则第二天它不会重新开放,并等待条件再次满足。我正在附上停止和超时的代码。进入基于前一天第一小时的高低交叉,而退出则是前一天的高低作为止损。
t = hour(time)+0.01*minute(time)
exittime = t==14.15
if enterLong
strategy.entry(id="EL", long=true,qty=40,stop=HighB+ syminfo.mintick)
if enterShort
strategy.entry(id="ES", long=false, qty=40,stop=LowB- syminfo.mintick)
if strategy.position_size > 0
strategy.cancel(id="ES")
if strategy.position_size < 0
strategy.cancel(id = "EL")
if strategy.position_size > 0
strategy.exit("EL", stop=Bstop)
if strategy.position_size < 0
strategy.exit("ES", stop=Sstop)
strategy.close_all(when=exittime)
我面临的问题是这样的: 1.在回测中,根据进入条件进行初始交易(多头/空头)。 2.编码的出口有两种类型:基于止损的strategy.exit和基于当天下午3:15结束的strategy.close_all。 3.以上两个出口均正常运行。但是,脚本显然在条件不满足的情况下于第二天开盘重新进入头寸。它以某种方式跟进前一天的交易,并在第二天再次输入。但是根据我的代码,条件第二天不符合。它不应在第二天再次输入。