# Copyright 2024 The TensorTrade-NG Authors.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the Licensefrom__future__importannotationsimporttypingfromtensortrade.env.actions.bshimportBSHfromtensortrade.env.actions.simple_ordersimportSimpleOrdersfromtensortrade.env.actions.managed_risk_ordersimportManagedRiskOrdersiftyping.TYPE_CHECKING:fromtensortrade.env.actions.abstractimportAbstractActionScheme_registry={'bsh':BSH,'simple':SimpleOrders,'managed-risk':ManagedRiskOrders,}
[docs]defget(identifier:str)->AbstractActionScheme:""" Gets the :class:`AbstractActionScheme` that matches with the identifier. :param identifier: The identifier for the ``AbstractActionScheme`` :type identifier: str :returns: The action scheme associated with the ``identifier``. :rtype: class:`AbstractActionScheme` :raises KeyError: Raised if identifier is not associated with any :class:`AbstractActionScheme` """ifidentifiernotin_registry.keys():msg=f"Identifier {identifier} is not associated with any `RewardScheme`."raiseKeyError(msg)return_registry[identifier]()