请问执行buy(bar.close_price, 1)之后self.pos并没有变化,导致后面重复执行self.pos == 0的这个分支,之后self.pos再突然加上这个漏掉的1,这到底是什么原因?(只有多开和多平,都是1手,pos是不可能为2的啊,正常来说列表只有两个元素,因为这原因多执行了一次,出现了列表有4个元素),是线程的问题么???
再次调用on_bar之后self.pos为 1 ######
[2128.0, 2092.0]
再次调用on_bar之后self.pos为 1 ######
[2128.0, 2092.0]
sell(price, 1)
再次调用on_bar之后self.pos为 0 ######
再次调用on_bar之后self.pos为 0 ######
再次调用on_bar之后self.pos为 0 ######
buy(price, 1)
再次调用on_bar之后self.pos为 0 ######
再次调用on_bar之后self.pos为 0 ######
buy(price, 1)
再次调用on_bar之后self.pos为 1 ######
[2492.0, 2400.0, 2747.0, 2608.0]
再次调用on_bar之后self.pos为 1 ######
[2492.0, 2400.0, 2747.0, 2608.0]
再次调用on_bar之后self.pos为 2 ######
[2492.0, 2400.0, 2747.0, 2608.0]
再次调用on_bar之后self.pos为 2 ######