我想在pyalgotrade中测试一个交易策略,但是我在提交stoploss订单时遇到了问题。
在文档中,它声明:职位是下订单的更高层次的抽象。它们是一对进出口订单,允许跟踪返回,PnL更容易手动下单。
我进入这个职位时
myPosition = self.enterLong(self.__instrument, amount, True)这基本上打开了一个新的股票头寸,并以市场价格买入,这本身是可行的。
然后,我希望下止损单。
myPosition.exitStop(stoplossValue, True)…但这行为太奇怪了!
如果位置isFilled (在执行enterLong命令时是这样),那么exitStop将引发一个断言错误,因为它似乎期望该顺序为“isActive”(与isFilled冲突)。
当我在order isFilled ( When isActive)之前调用isFilled时,代码不会生成断言错误,但是活动订单会立即被取消。
当初始订单尚未执行时,调用exitStop绝对是没有意义的。还是我的思维完全失控了?
不幸的是,pyalgotrade教程策略没有使用任何stoploss逻辑(这是不好的)。
发布于 2015-04-25 02:45:42
既然你已经把同样的问题发到了图书馆组,我不会在这里重复答案。看看https://groups.google.com/forum/#!topic/pyalgotrade/WNNZQ0VvuTc
https://stackoverflow.com/questions/29735134
复制相似问题