止损订单所需的 Pyalgotrade 建议
Pyalgotrade advice needed for stoploss orders
我想在 pyalgotrade 中回测交易策略,但我在提交止损订单时遇到问题。
在 documentation 中指出:头寸是用于下订单的更高级别的抽象。它们本质上是一对进出场订单,允许跟踪 returns 和 PnL 比手动下订单更容易。
我入仓
myPosition = self.enterLong(self.__instrument, amount, True)
这基本上是在股票中开立新头寸并以市场价格买入,这本身就有效。
然后我希望用
下止损单
myPosition.exitStop(stoplossValue, True)
…但这行为真的很奇怪!
如果 position isFilled,这是执行 enterLong 订单时的情况,则 exitStop 引发断言错误,因为它似乎期望订单为“isActive”(与 isFilled 冲突)。
当我在订单已成交前调用 exitStop 时(当订单处于活动状态时),代码不会生成断言错误,但活动订单会立即被取消。
在初始订单尚未执行时调用exitStop 是绝对没有意义的。还是我的想法完全脱离了常态?
不幸的是,pyalgotrade 教程策略不使用任何止损逻辑(这很糟糕)。
由于您已经将相同的问题发布到图书馆组,因此我不会在此处重复回答。看看https://groups.google.com/forum/#!topic/pyalgotrade/WNNZQ0VvuTc
我想在 pyalgotrade 中回测交易策略,但我在提交止损订单时遇到问题。
在 documentation 中指出:头寸是用于下订单的更高级别的抽象。它们本质上是一对进出场订单,允许跟踪 returns 和 PnL 比手动下订单更容易。
我入仓
myPosition = self.enterLong(self.__instrument, amount, True)
这基本上是在股票中开立新头寸并以市场价格买入,这本身就有效。
然后我希望用
下止损单myPosition.exitStop(stoplossValue, True)
…但这行为真的很奇怪!
如果 position isFilled,这是执行 enterLong 订单时的情况,则 exitStop 引发断言错误,因为它似乎期望订单为“isActive”(与 isFilled 冲突)。
当我在订单已成交前调用 exitStop 时(当订单处于活动状态时),代码不会生成断言错误,但活动订单会立即被取消。
在初始订单尚未执行时调用exitStop 是绝对没有意义的。还是我的想法完全脱离了常态?
不幸的是,pyalgotrade 教程策略不使用任何止损逻辑(这很糟糕)。
由于您已经将相同的问题发布到图书馆组,因此我不会在此处重复回答。看看https://groups.google.com/forum/#!topic/pyalgotrade/WNNZQ0VvuTc