← Zurück

Стоп-лимит заявка не активируется на эмуляторе RealTimeEmulationTrader

Создаю стратегию, использую эмулятор RealTimeEmulationTrader<QuikTrader>.

Создаю и регистрирую стоп-лимит заявку таким способом:


      var order = new Order() {
        Portfolio = Portfolio,
        Security = Security, // RIM2
        Direction = OrderDirections.Buy,
        Price = 157010,
        Type = OrderTypes.Conditional,
        Volume = 1,
        StopCondition = new QuikStopCondition() {
          Type = QuikStopConditionTypes.StopLimit,
          StopPrice = 157000
        }
      };

      this.When(order.Registered()).Do(orderSLRegistered);
      this.When(order.Activated()).Do(orderSLActivated);
      this.When(order.Matched()).Do(orderSLMatched);
      this.When(order.RegisterFailed()).Do(orderSLRegisteredFailed);
      RegisterOrder(order);

Регистрации стоп-заявки выполняется, выводится сообщение в лог из orderSLRegistered. Цена достигает 157000 и выше, но заявка не активируется (не становится лимитной) Пробовал обычные лимитные заявки - они успешно исполняются. Помогите пожалуйста разобраться в проблеме.

War dieses Thema hilfreich?

Thema teilen

Kommentare (7)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Alexander
Alexander

стоп заявки не поддерживаются, пользуйтесь правилами

PavelAd
PavelAd Autor

Alexander Mukhanchikov: стоп заявки не поддерживаются, пользуйтесь правилами Не совсем понял какими правилами в данном случае пользоваться? Самому изменять состояния стоп заявок по событию NewTrades?

Если подключите меня к проекту на codeplex, могу доделать поддержку стоп-заявок в RealTimeEmulationTrader.

Alexander
Alexander

PavelAd:

Alexander Mukhanchikov: стоп заявки не поддерживаются, пользуйтесь правилами Не совсем понял какими правилами в данном случае пользоваться? Самому изменять состояния стоп заявок по событию NewTrades?

Если подключите меня к проекту на codeplex, могу доделать поддержку стоп-заявок в RealTimeEmulationTrader.

Правилами изменеия цены инструмента. Станет >= N - активируете лимитку.

RealTimeEmulationTrader на codeplex нет. Я бы не был так уверен о том, что поддержка стоп-заявок является лёгкой задачей. :)

PavelAd
PavelAd Autor

Alexander Mukhanchikov: Правилами изменеия цены инструмента. Станет >= N - активируете лимитку. Правила я так понял нужно использовать Security.BestBidPriceLess и Security.BestAskPriceLess? не могу найти как вручную активировать стоп-лимит заявку. Пересмотрел документацию - не могу найти. Подскажите пожалуйста.

Alexander
Alexander

Сработало правило нужное вам (зависит от вашего стопа - скорее всего по Last цене), посылаете обычную лимит заявку. При чём здесь стоп-лимит - не пойму.

PavelAd
PavelAd Autor

А класс EmulationTrader поддерживает работу со стоп-заявками или тоже нет?

hobo
hobo

Тоже нет