Для стоп-лосс нужен совет по Pyalgotrade
Я хочу протестировать торговую стратегию в pyalgotrade, но у меня проблемы с отправкой стоп-лосса.
В документации говорится: Позиции являются абстракциями более высокого уровня для размещения заказов. По сути, они представляют собой пару заявок на въезд-выезд и позволяют легче отслеживать возвраты и PnL, чем при размещении заказов вручную.
Я вхожу в позицию с
myPosition = self.enterLong(self.__instrument, amount, True)
Это в основном открывает новую позицию по акциям и покупает по рыночной цене, что само по себе работает.
Затем я бы рассчитывал разместить стоп-ордер с
myPosition.exitStop(stoplossValue, True)
... но это ведет себя очень странно!
Если позиция isFilled, что является случаем, когда был выполнен ордер enterLong, то exitStop вызывает ошибку assert, потому что кажется, что ордер будет "isActive" (что конфликтует с isFilled).
Когда я вызываю exitStop до того, как ордер isFilled (тогда как isActive), код не генерирует ошибку подтверждения, но активный ордер немедленно отменяется.
Абсолютно бессмысленно вызывать exitStop, когда первоначальный заказ еще не выполнен. Или я полностью отвлекся от мыслей?
К сожалению, учебные стратегии Pyalgotrade не используют логику стоп-лосс (что плохо).
1 ответ
Поскольку вы уже отправили тот же вопрос в библиотечную группу, я не буду дублировать ответ здесь. Посмотрите на https://groups.google.com/forum/