def _add_strategy_requirements_and_default_config(desc, klass): tentacles_config = interfaces_util.get_startup_tentacles_config() strategy_config = get_tentacle_config(klass) desc[REQUIREMENTS_KEY] = [evaluator for evaluator in klass.get_required_evaluators(tentacles_config, strategy_config)] desc[COMPATIBLE_TYPES_KEY] = [evaluator for evaluator in klass.get_compatible_evaluators_types(tentacles_config, strategy_config)] desc[DEFAULT_CONFIG_KEY] = [evaluator for evaluator in klass.get_default_evaluators(tentacles_config, strategy_config)]
def _add_trading_mode_requirements_and_default_config(desc, klass): tentacles_config = interfaces_util.get_startup_tentacles_config() mode_config = get_tentacle_config(klass) required_strategies, required_strategies_count = klass.get_required_strategies_names_and_count( tentacles_config, mode_config) if required_strategies: desc[REQUIREMENTS_KEY] = \ [strategy for strategy in required_strategies] desc[DEFAULT_CONFIG_KEY] = \ [strategy for strategy in klass.get_default_strategies(tentacles_config, mode_config)] desc[REQUIREMENTS_COUNT_KEY] = required_strategies_count else: desc[REQUIREMENTS_KEY] = [] desc[REQUIREMENTS_COUNT_KEY] = 0
def get_tentacles_activation_desc_by_group(media_url, missing_tentacles: set): tentacles_activation = tentacles_manager_api.get_tentacles_activation(interfaces_util.get_edited_tentacles_config()) startup_tentacles_activation = tentacles_manager_api.get_tentacles_activation( interfaces_util.get_startup_tentacles_config()) activation_by_group = {} for root_element in NON_TRADING_STRATEGY_RELATED_TENTACLES: try: _add_tentacles_activation_desc_for_group(activation_by_group, tentacles_activation, startup_tentacles_activation, root_element, media_url, missing_tentacles) except KeyError: pass # only return tentacle groups for which there is an activation choice to simplify the config interface return {group: tentacles for group, tentacles in activation_by_group.items() if len(tentacles) > 1}
def get_strategies_list(trading_mode): try: return trading_mode.get_required_strategies_names_and_count( interfaces_util.get_startup_tentacles_config())[0] except Exception: return []
def get_evaluators_tentacles_startup_activation(): return tentacles_manager_api.get_tentacles_activation( interfaces_util.get_startup_tentacles_config())[ tentacles_manager_constants.TENTACLES_EVALUATOR_PATH]
def get_trading_tentacles_startup_activation(): return tentacles_manager_api.get_tentacles_activation( interfaces_util.get_startup_tentacles_config())[ tentacles_manager_constants.TENTACLES_TRADING_PATH]