Suspensão de regras
Por vezes pretende colocar várias regras em modo de suspensão (impedir que sejam accionadas até a inicialização do código estar concluída). Para isso, é usado o método MarketRuleHelper.SuspendRules(System.Action action ).
Utilizar a suspensão de regras
Fora da estratégia:
MarketRuleHelper.SuspendRules(() => { order .WhenRegistered(Connector) .Do(() => Connector.AddInfoLog("A ordem foi registrada com sucesso.")) .Once() .Apply(this); order .WhenCanceled(Connector) .Do(() => Connector.AddInfoLog("A ordem foi cancelada com sucesso.")) .Once() .Apply(this); });Dentro da estratégia:
class FirstStrategy : Strategy { ... this.SuspendRules(() => { _connector .WhenCandlesFinished(_series) .Do(FinishCandle) .Apply(this); Security .WhenNewTrade(Connector) .Do(NewTrade) .Apply(this); }); } ... }