From 083a96286af194acc32875906b158d1a7008bae1 Mon Sep 17 00:00:00 2001 From: Guillaume De Saint Martin Date: Sat, 18 Apr 2020 01:43:27 +0200 Subject: [PATCH] remove forced evaluators --- octobot_evaluators/api/initialization.py | 4 +--- octobot_evaluators/api/inspection.py | 6 ++++-- octobot_evaluators/constants.py | 1 - octobot_evaluators/evaluator/strategy_evaluator.py | 10 ++++------ 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/octobot_evaluators/api/initialization.py b/octobot_evaluators/api/initialization.py index 56cdab0a..eb480d1c 100644 --- a/octobot_evaluators/api/initialization.py +++ b/octobot_evaluators/api/initialization.py @@ -13,13 +13,11 @@ # # You should have received a copy of the GNU Lesser General Public # License along with this library. -from octobot_channels.util.channel_creator import create_channel_instance, create_all_subclasses_channel +from octobot_channels.util.channel_creator import create_all_subclasses_channel from octobot_commons.constants import CONFIG_TIME_FRAME from octobot_commons.tentacles_management.advanced_manager import create_advanced_types_list from octobot_commons.time_frame_manager import sort_time_frames from octobot_evaluators.channels.evaluator_channel import get_chan, set_chan, EvaluatorChannel, del_chan - -from octobot_evaluators.channels.matrix import MatrixChannel from octobot_evaluators.constants import MATRIX_CHANNEL from octobot_evaluators.evaluator import StrategyEvaluator, EVALUATORS_CHANNEL from octobot_tentacles_manager.api.configurator import is_tentacle_activated_in_tentacles_setup_config diff --git a/octobot_evaluators/api/inspection.py b/octobot_evaluators/api/inspection.py index e7d10791..81fc37f9 100644 --- a/octobot_evaluators/api/inspection.py +++ b/octobot_evaluators/api/inspection.py @@ -24,7 +24,7 @@ def get_relevant_evaluators_from_strategies(config, tentacles_setup_config) -> l evaluator_list = set() for strategies_eval_class in create_advanced_types_list(StrategyEvaluator, config): if strategies_eval_class.is_enabled(tentacles_setup_config, False): - required_evaluators = strategies_eval_class.get_required_evaluators(config) + required_evaluators = strategies_eval_class.get_required_evaluators() if required_evaluators == CONFIG_WILDCARD: return CONFIG_WILDCARD else: @@ -49,10 +49,12 @@ def is_relevant_evaluator(evaluator_instance, relevant_evaluators) -> bool: def get_relevant_TAs_for_strategy(strategy, config, tentacles_setup_config) -> list: ta_classes_list = [] - relevant_evaluators = strategy.get_required_evaluators(config) + relevant_evaluators = strategy.get_required_evaluators() for ta_eval_class in create_advanced_types_list(TAEvaluator, config): ta_eval_class_instance = ta_eval_class() ta_eval_class_instance.set_tentacles_setup_config(tentacles_setup_config) + # force enable at True to use relevant_evaluators + ta_eval_class_instance.enabled = True if CONFIG_WILDCARD in relevant_evaluators or \ is_relevant_evaluator(ta_eval_class_instance, relevant_evaluators): ta_classes_list.append(ta_eval_class) diff --git a/octobot_evaluators/constants.py b/octobot_evaluators/constants.py index 2ed19c7b..a85b5506 100644 --- a/octobot_evaluators/constants.py +++ b/octobot_evaluators/constants.py @@ -19,7 +19,6 @@ MatrixValueType = NewType('MatrixValueType', Union[str, int, float]) -CONFIG_FORCED_EVALUATOR = "forced_evaluator" START_EVAL_PERTINENCE = 1 MAX_TA_EVAL_TIME_SECONDS = 0.1 EVALUATOR_EVAL_DEFAULT_TYPE = float diff --git a/octobot_evaluators/evaluator/strategy_evaluator.py b/octobot_evaluators/evaluator/strategy_evaluator.py index 8f8c196f..961e9648 100644 --- a/octobot_evaluators/evaluator/strategy_evaluator.py +++ b/octobot_evaluators/evaluator/strategy_evaluator.py @@ -16,7 +16,7 @@ from octobot_commons.constants import CONFIG_WILDCARD from octobot_commons.time_frame_manager import parse_time_frames from octobot_evaluators.channels.evaluator_channel import get_chan -from octobot_evaluators.constants import CONFIG_FORCED_EVALUATOR, MATRIX_CHANNEL, \ +from octobot_evaluators.constants import MATRIX_CHANNEL, \ STRATEGIES_REQUIRED_TIME_FRAME, CONFIG_FORCED_TIME_FRAME, STRATEGIES_REQUIRED_EVALUATORS, TENTACLE_DEFAULT_CONFIG from octobot_evaluators.evaluator import AbstractEvaluator from octobot_tentacles_manager.api.configurator import get_tentacle_config @@ -68,9 +68,7 @@ def get_required_time_frames(cls, config: dict): raise Exception(f"'{STRATEGIES_REQUIRED_TIME_FRAME}' is missing in configuration file") @classmethod - def get_required_evaluators(cls, config: dict, strategy_config: dict = None): - if CONFIG_FORCED_EVALUATOR in config: - return config[CONFIG_FORCED_EVALUATOR] + def get_required_evaluators(cls, strategy_config: dict = None): strategy_config: dict = strategy_config or get_tentacle_config(cls) if STRATEGIES_REQUIRED_EVALUATORS in strategy_config: return strategy_config[STRATEGIES_REQUIRED_EVALUATORS] @@ -78,12 +76,12 @@ def get_required_evaluators(cls, config: dict, strategy_config: dict = None): raise Exception(f"'{STRATEGIES_REQUIRED_EVALUATORS}' is missing in configuration file") @classmethod - def get_default_evaluators(cls, config: dict): + def get_default_evaluators(cls): strategy_config: dict = get_tentacle_config(cls) if TENTACLE_DEFAULT_CONFIG in strategy_config: return strategy_config[TENTACLE_DEFAULT_CONFIG] else: - required_evaluators = cls.get_required_evaluators(config, strategy_config) + required_evaluators = cls.get_required_evaluators(strategy_config) if required_evaluators == CONFIG_WILDCARD: return [] else: