← Zurück

When(Registered()).Do

Помогите разобраться

public class Strategy1 : Strategy{

 protected override void OnStarting(){
  ProcessRules(() =>
  {

   Order longstoporder = this.StopBuyAt(openstopprice);
   base.RegisterOrder(longstoporder);
   this.When(longstoporder.Registered()).Do(() => {
    ... //not execute!!!
   });

  });

 } 
}

после RegisterOrder заявка выставляется и вскоре исполняется но не выполняется код заключенный в конструкциюWhen(longstoporder.Registered()).Do(() => ); в чем может быть проблема?

War dieses Thema hilfreich?

Thema teilen

Kommentare (8)

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

Supervisor
Supervisor

Попробуйте подписаться на событие до регистрации заявки:

protected override void OnStarting(){
  ProcessRules(() =>
  {
 
   Order longstoporder = this.StopBuyAt(openstopprice);
   this.When(longstoporder.Registered()).Do(() => {
    ...
   });
   base.RegisterOrder(longstoporder);
 
  });
 
 }

raf
raf Autor

так тоже не работает

raf
raf Autor

если использую .SellAt(), то работает

Похоже со стопзаявками не пашет When()???

Alexander
Alexander

raf: если использую .SellAt(), то работает

Похоже со стопзаявками не пашет When()???

Не работает, да. Поправлю сегодня вечером, будет в 3.2.12.

raf
raf Autor

Alexander: Не работает, да. Поправлю сегодня вечером, будет в 3.2.12. Александр, а когда можно ожидать 3.2.12 в разделе "Скачать"?

Alexander
Alexander

raf:

Alexander: Не работает, да. Поправлю сегодня вечером, будет в 3.2.12. Александр, а когда можно ожидать 3.2.12 в разделе "Скачать"?

when it's done :) вроде 3.2.11 только выложили. пока для 3.2.12 серьёзных изменений нет чтоб торопиться с выкладыванием, а ещё возможных изменений - до фига.

Alexander
Alexander

esper:

raf: если использую .SellAt(), то работает

Похоже со стопзаявками не пашет When()???

Для стопов надо смотреть Order.DerivedOrder

Не уверен что это хорошее решение - он ведь первоначально null. Подумаю как лучше быть в данной ситуации.

esper
esper

Alexander:

esper:

raf: если использую .SellAt(), то работает

Похоже со стопзаявками не пашет When()???

Для стопов надо смотреть Order.DerivedOrder

Не уверен что это хорошее решение - он ведь первоначально null. Подумаю как лучше быть в данной ситуации. Да, я немного ошибся, подумал про исполнение заявки.