今天在手机上看期货行情,发现自己的策略竟然没有成交,开始还以为自己记错了参数,下班后一检查,发现出问题了。
这个策略应该是从今年开市(2月3日)就开始跑,我是前天(2月29日)才重启了一下,期间根本就没有动过。
通过查看日志发现这个策略从02-24就开始出问题了。
而且发现halfhour.pickle的修改时间还停留在2月21日。
没有找到问题到底出在哪儿,反正是没有执行下面的代码
#盘中未平仓,盘尾时间段平仓 if self.sellWindow: if bar.high_price > self.dayMaxPrice: ...... #将最近两天的最高价保存到pickle文件 with open('halfhour.pickle', 'wb') as f: pickle.dump(self.yesterdayPrice, f) self.f1.write("*"*50+"\n") self.f1.close() self.put_event()
因为self.sellWindow是根据传入的bar.datetime来判断的,可能是因为没有15:00这一根bar。
暂时将时间改为14:59看看效果。
Updated on Apr-16-2020
apr-15 自己记录的成交价为3367,实际成交价为3367,没有差异。
Updated on Jun-03-2020
最近3个月的成交滑点:
核对6.1-6.3的行情记录没问题。
Updated on Jun-04-2020
今天资金不足,所以期货出错了。
原设定买入10手的,结果一手没买成功。
好在策略逻辑在仓位为0时有购入功能,所以最后又买了一手。
另外,发现虽然成交未成功,不过vnpy的代码还是正常执行的,我记录价格的txt文件也还是正常的。