def applyAction()

in src/backend/domain/services/steps/risk_limit.py [0:0]


    def applyAction(self, symbol, rule, action):
        rule.triggered = True
        if symbol:
            symbol_details = self.getSymbolDetails(symbol)
            if rule.scope == Scope.Symbol:
                if action == 1:
                    symbol_details.TradingSuspended = True
                elif action == 2:
                    symbol_details.BetSize = self.BetSize * rule.reduceCapitalAndLimitsRatio
                    symbol_details.InstrumentGrossLimit *= rule.reduceCapitalAndLimitsRatio

        elif rule.scope == Scope.Strategy:
            if action == 1:
                self.TradingSuspended = True
            elif action == 2:
                self.GrossLimit *= rule.reduceCapitalAndLimitsRatio
                self.InstrumentGrossLimit *= rule.reduceCapitalAndLimitsRatio
                self.NOPLimit *= rule.reduceCapitalAndLimitsRatio
                self.BetSize *= rule.reduceCapitalAndLimitsRatio