Для изменения размера нажмите или перетащите
Приостановка правил

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

Использование приостановки правил
  • Вне стратегии:

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

    C#
    class FirstStrategy : Strategy
    {
        ...
    
        protected override void OnStarting()
        {
            this.SuspendRules(() =>
            {
                _series
                    .WhenCandlesFinished()
                    .Do(FinishCandle)
                    .Apply(this);
    
                Security
                    .WhenNewTrades()
                    .Do(NewTrade)
                    .Apply(this);
            });
    
            base.OnStarting();
        }
    
        ...
    }