Я хочу проверить торговую стратегию в pyalgotrade, но у меня возникли проблемы с отправкой стоп-лосс-ордера.Совет Pyalgotrade, необходимый для заказов на стоп-лосс
В documentation в нем указывается: Позиции - это абстракции более высокого уровня для размещения заказов. Они представляют собой пару заказов на вход-выход и позволяют отслеживать возврат и PnL, что упрощает размещение заказов вручную.
Я вхожу в положение с
myPosition = self.enterLong(self.__instrument, amount, True)
В основном это открывает новую позицию в акции и покупает по рыночной цене, которая сама по себе работает.
я тогда ожидать, чтобы разместить стоп-ордер с
myPosition.exitStop(stoplossValue, True)
... но это ведет себя очень странно!
Если позиция заполнена, то в случае, когда был выполнен заказ enterLong, exitStop вызывает ошибку assert, потому что, похоже, ожидается, что порядок будет «isActive» (какие конфликты заполнены).
Когда я вызываю exitStop до того, как заказ заполнен (while isActive), код не генерирует ошибку assert, но активный порядок немедленно отменяется.
Абсолютно бессмысленно называть exitStop, когда начальный заказ еще не выполнен. Или я полностью со стены с мыслями?
К сожалению, стратегии обучения pyalgotrade не используют логику стоп-лосса (что плохо).