Regeln aussetzen
Manchmal sollen mehrere Regeln in einen Aussetzungsmodus versetzt werden, damit sie erst auslösen, wenn die Codeinitialisierung abgeschlossen ist. Dazu wird die Methode MarketRuleHelper.SuspendRules(System.Action action ) verwendet.
Verwenden der Regelaussetzung
Außerhalb der Strategie:
MarketRuleHelper.SuspendRules(() => { order .WhenRegistered(Connector) .Do(() => Connector.AddInfoLog("Order erfolgreich registriert.")) .Once() .Apply(this); order .WhenCanceled(Connector) .Do(() => Connector.AddInfoLog("Order erfolgreich storniert.")) .Once() .Apply(this); });Innerhalb der Strategie:
class FirstStrategy : Strategy { ... this.SuspendRules(() => { _connector .WhenCandlesFinished(_series) .Do(FinishCandle) .Apply(this); Security .WhenNewTrade(Connector) .Do(NewTrade) .Apply(this); }); } ... }