Отмена ранее созданого правила

Отмена ранее созданого правила
Atom
4/9/2012
PavelAd


Подскажите, правильно ли я выполняю отмену StartegyRule. В документации как это сделать не нашел.

Создаю правило так:
Code

        ActivateSellOrderRule = this.When(Security.LastTradePriceLess(new Unit(order.Price + Security.MinStepSize, UnitTypes.Limit)))
          .Do(() => ActivateOrder(order)).Once();


Удаляю правило так
Code

          this.Rules.Remove(ActivateSellOrderRule);
          ActivateSellOrderRule.Dispose();
          ActivateSellOrderRule = null;

ActivateSellOrderRule глобальный объект класса стратегии.

Tags:


Thanks:


Sergey Masyura

Avatar
Date: 4/9/2012
Reply


PavelAd
Подскажите, правильно ли я выполняю отмену StartegyRule. В документации как это сделать не нашел.

Создаю правило так:
Code

        ActivateSellOrderRule = this.When(Security.LastTradePriceLess(new Unit(order.Price + Security.MinStepSize, UnitTypes.Limit)))
          .Do(() => ActivateOrder(order)).Once();


Удаляю правило так
Code

          this.Rules.Remove(ActivateSellOrderRule);
          ActivateSellOrderRule.Dispose();
          ActivateSellOrderRule = null;

ActivateSellOrderRule глобальный объект класса стратегии.


Если в правиле стоит условие .Once() какой смысл хранить на него реф и затем удалять?
Thanks:

ra81

Avatar
Date: 4/9/2012
Reply


Ага соглашусь с Сергеем. После срабатывания правила оно будет удаленоавтоматом.

Если же нужно удалить в случае если сработало какое-то другое правило, то вы все делаете правильно.

ActivateSellOrderRule = null; <---- думаю уже лишнее.
Thanks: PavelAd

PavelAd

Avatar
Date: 4/9/2012
Reply


Sergey Masyura

Если в правиле стоит условие .Once() какой смысл хранить на него реф и затем удалять?


Становится необходимым чтобы вообще правило не вызывалось.
Thanks:

ra81

Avatar
Date: 4/11/2012
Reply


Кстати в свете последних изысканий

Quote:
this.Rules.Remove(ActivateSellOrderRule);


Вполне достаточно. При удалении правила из хранилища правил, оно автоматом диспозится.
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy