Table of Contents

Приостановка правил

Иногда требуется установить одновременно несколько правил, чтобы каждое из них было активно только тогда, когда завершено формирование всех этих правил. Для этого используется метод MarketRuleHelper.SuspendRules(System.Action action**)**.

Использование приостановки правил

  • Вне стратегии:

    MarketRuleHelper.SuspendRules(() =>
    {
        order
            .WhenRegistered(Connector)
            .Do(() => Connector.AddInfoLog("Заявка успешно зарегистрирована"))
            .Once()
            .Apply(this);
        order
            .WhenCanceled(Connector)
            .Do(() => Connector.AddInfoLog("Заявка успешно отменена"))
            .Once()
            .Apply(this);
    });
    
    
  • Внутри стратегии:

    class FirstStrategy : Strategy
    {
      ...
    
           this.SuspendRules(() =>
           {
      	_connector
                   .WhenCandlesFinished(_series)
                   .Do(FinishCandle)
                   .Apply(this);
               Security
                   .WhenNewTrade(Connector)
                   .Do(NewTrade)
                   .Apply(this);
           });
       }
        ...
    }