一个Bug引发的惨案

2022年7月11日 145点热度 1人点赞 0条评论

周末写了一个策略装入引擎,本意就是进行测试,没指望盈亏能有多少。结果周一这个新的策略引发了一个之前没有发现的bug,造成今天引擎整体不能正常工作,上着班还得盯盘手动下单,狼狈的很。

bug出在止损的计算上,因为之前跑的都是网格,不设止损,所以一直没有触发。新策略需要计算动态成本并设定止损线,bug就出在动态成本的计算上,成本计算的函数需要传入成本类型,但是在策略类中忘记了传入从而引发异常。

早上在外办事,收到微信消息,新策略的买入信号触发了,还挺高兴,结果上午办完事出来一看,市场跌了个稀里哗啦,但是网格单却没出来,中午回到单位赶紧debug,发现问题出在成本计算上。这个bug的代价就是,新策略的止损信号不能正常触发,网格单也因为这个bug无法触发,最后一切都是手动完成,而且手动止损在挺深的位置上(策略的止损是0.5个ATR,实际有大约1.5个)。

这事儿的教训是,新代码上线前,一定要经过完整闭环的测试,过去还是对自己太放心了。晚上回家改Bug吧。

qthinker

前地产从业者,假装是个程序员,热爱编程与交易 自研Qthinker量化交易框架

文章评论