Esempio n. 1
0
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)]
Esempio n. 2
0
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
Esempio n. 3
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}
Esempio n. 4
0
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 []
Esempio n. 5
0
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]
Esempio n. 6
0
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]