规则暂停

有时你可能想将多个规则设置为挂起模式(防止它们在代码初始化完成之前触发)。为此,可以使用 MarketRuleHelper.SuspendRules(System.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);
           });
       }
        ...
    }