2015-04-19 2 views
2

Я хочу проверить торговую стратегию в 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 не используют логику стоп-лосса (что плохо).

ответ

Смежные вопросы