def create_social_eval(config, symbol, dispatchers_list): social_eval_list = [] for social_eval_class in AdvancedManager.create_advanced_evaluator_types_list(SocialEvaluator, config): social_eval_class_instance = social_eval_class() social_eval_class_instance.set_config(config) if social_eval_class_instance.get_is_enabled(): is_evaluator_to_be_used = True social_eval_class_instance.set_logger(logging.getLogger(social_eval_class.get_name())) social_eval_class_instance.set_symbol(symbol) social_eval_class_instance.prepare() # If evaluator is a dispatcher client --> check if dispatcher exists # else warn and pass this evaluator if social_eval_class.get_is_dispatcher_client(): client_found_dispatcher = EvaluatorCreator.set_social_eval_dispatcher(social_eval_class_instance, dispatchers_list) if not client_found_dispatcher: is_evaluator_to_be_used = False logging.getLogger(EvaluatorCreator.get_name()).warning( "No dispatcher found for evaluator: {0} for symbol: {1}, evaluator has been disabled." .format(social_eval_class_instance.get_name(), symbol)) # start refreshing thread if the thread is not manage by dispatcher elif is_evaluator_to_be_used and social_eval_class_instance.get_is_threaded(): social_eval_class_instance.start() if is_evaluator_to_be_used: social_eval_list.append(social_eval_class_instance) return social_eval_list
def create_social_eval(config, symbol, dispatchers_list): social_eval_list = [] for social_eval_class in AdvancedManager.create_advanced_evaluator_types_list( SocialEvaluator, config): social_eval_class_instance = social_eval_class() social_eval_class_instance.set_config(config) if social_eval_class_instance.get_is_enabled(): is_evaluator_to_be_used = True social_eval_class_instance.set_logger( logging.getLogger(social_eval_class.get_name())) social_eval_class_instance.set_symbol(symbol) social_eval_class_instance.prepare() # If evaluator is a dispatcher client --> check if dispatcher exists # else warn and pass this evaluator if social_eval_class.get_is_dispatcher_client(): client_found_dispatcher = EvaluatorCreator.set_social_eval_dispatcher( social_eval_class_instance, dispatchers_list) if not client_found_dispatcher: is_evaluator_to_be_used = False logging.getLogger(EvaluatorCreator.get_name()).warning( "No dispatcher found for evaluator: {0} for symbol: {1}, evaluator has been disabled." .format(social_eval_class_instance.get_name(), symbol)) # start refreshing thread if the thread is not manage by dispatcher elif is_evaluator_to_be_used and social_eval_class_instance.get_is_threaded( ): social_eval_class_instance.start() if is_evaluator_to_be_used: social_eval_list.append(social_eval_class_instance) return social_eval_list
def _assert_created_instances(instances_list, super_class, config): class_list = [instance.__class__ for instance in instances_list] for eval_class in AdvancedManager.create_advanced_evaluator_types_list(super_class, config): eval_instance = eval_class() eval_instance.set_config(config) if eval_instance.get_is_enabled(): assert eval_class in class_list
def init_time_frames_from_strategies(config): time_frame_list = set() for strategies_eval_class in AdvancedManager.create_advanced_evaluator_types_list(StrategiesEvaluator, config): if strategies_eval_class.is_enabled(config, False): for time_frame in strategies_eval_class.get_required_time_frames(config): time_frame_list.add(time_frame) time_frame_list = TimeFrameManager.sort_time_frames(time_frame_list) config[CONFIG_TIME_FRAME] = time_frame_list
def get_relevant_TAs_for_strategy(strategy, config): ta_classes_list = [] relevant_evaluators = strategy.get_required_evaluators(config) for ta_eval_class in AdvancedManager.create_advanced_evaluator_types_list(TAEvaluator, config): ta_eval_class_instance = ta_eval_class() ta_eval_class_instance.set_config(config) if EvaluatorCreator.is_relevant_evaluator(ta_eval_class_instance, relevant_evaluators): ta_classes_list.append(ta_eval_class) return ta_classes_list
def get_relevant_evaluators_from_strategies(config): evaluator_list = set() for strategies_eval_class in AdvancedManager.create_advanced_evaluator_types_list(StrategiesEvaluator, config): if strategies_eval_class.is_enabled(config, False): required_evaluators = strategies_eval_class.get_required_evaluators(config) if required_evaluators == CONFIG_EVALUATORS_WILDCARD: return CONFIG_EVALUATORS_WILDCARD else: for evaluator in required_evaluators: evaluator_list.add(evaluator) return evaluator_list
def create_ta_eval_list(evaluator): ta_eval_instance_list = [] for ta_eval_class in AdvancedManager.create_advanced_evaluator_types_list(TAEvaluator, evaluator.get_config()): ta_eval_class_instance = ta_eval_class() ta_eval_class_instance.set_config(evaluator.config) if ta_eval_class_instance.get_is_enabled(): ta_eval_class_instance.set_logger(logging.getLogger(ta_eval_class.get_name())) ta_eval_class_instance.set_data(evaluator.data) ta_eval_class_instance.set_symbol(evaluator.get_symbol()) ta_eval_instance_list.append(ta_eval_class_instance) return ta_eval_instance_list
def create_strategies_eval_list(config): strategies_eval_list = [] for strategies_eval_class in AdvancedManager.create_advanced_evaluator_types_list(StrategiesEvaluator, config): strategies_eval_class_instance = strategies_eval_class() strategies_eval_class_instance.set_config(config) if strategies_eval_class_instance.get_is_enabled(): strategies_eval_class_instance.set_logger( logging.getLogger(strategies_eval_class_instance.get_name())) strategies_eval_list.append(strategies_eval_class_instance) return strategies_eval_list
def create_ta_eval_list(evaluator, relevant_evaluators): ta_eval_instance_list = [] for ta_eval_class in AdvancedManager.create_advanced_evaluator_types_list(TAEvaluator, evaluator.get_config()): ta_eval_class_instance = ta_eval_class() ta_eval_class_instance.set_config(evaluator.config) if EvaluatorCreator.is_relevant_evaluator(ta_eval_class_instance, relevant_evaluators): ta_eval_class_instance.set_logger(get_logger(ta_eval_class.get_name())) ta_eval_class_instance.set_data(evaluator.data) ta_eval_class_instance.set_symbol(evaluator.get_symbol()) ta_eval_instance_list.append(ta_eval_class_instance) return ta_eval_instance_list
def create_strategies_eval_list(config): strategies_eval_list = [] for strategies_eval_class in AdvancedManager.create_advanced_evaluator_types_list(StrategiesEvaluator, config): strategies_eval_class_instance = strategies_eval_class() strategies_eval_class_instance.set_config(config) if strategies_eval_class_instance.get_is_enabled(): strategies_eval_class_instance.set_logger( get_logger(strategies_eval_class_instance.get_name())) strategies_eval_list.append(strategies_eval_class_instance) return strategies_eval_list
def create_real_time_ta_evals(config, exchange_inst, symbol): real_time_ta_eval_list = [] for real_time_eval_class in AdvancedManager.create_advanced_evaluator_types_list(RealTimeEvaluator, config): real_time_eval_class_instance = real_time_eval_class(exchange_inst, symbol) real_time_eval_class_instance.set_config(config) if real_time_eval_class_instance.get_is_enabled(): real_time_eval_class_instance.set_logger(logging.getLogger(real_time_eval_class.get_name())) # start refreshing thread real_time_eval_class_instance.start() real_time_ta_eval_list.append(real_time_eval_class_instance) return real_time_ta_eval_list
def create_ta_eval_list(evaluator): ta_eval_instance_list = [] for ta_eval_class in AdvancedManager.create_advanced_evaluator_types_list( TAEvaluator, evaluator.get_config()): ta_eval_class_instance = ta_eval_class() ta_eval_class_instance.set_config(evaluator.config) if ta_eval_class_instance.get_is_enabled(): ta_eval_class_instance.set_logger( logging.getLogger(ta_eval_class.get_name())) ta_eval_class_instance.set_data(evaluator.data) ta_eval_class_instance.set_symbol(evaluator.get_symbol()) ta_eval_instance_list.append(ta_eval_class_instance) return ta_eval_instance_list
def create_real_time_ta_evals(config, exchange_inst, symbol, relevant_evaluators): real_time_ta_eval_list = [] for real_time_eval_class in AdvancedManager.create_advanced_evaluator_types_list(RealTimeEvaluator, config): real_time_eval_class_instance = real_time_eval_class(exchange_inst, symbol) real_time_eval_class_instance.set_config(config) if EvaluatorCreator.is_relevant_evaluator(real_time_eval_class_instance, relevant_evaluators): real_time_eval_class_instance.set_logger(get_logger(real_time_eval_class.get_name())) # start refreshing thread real_time_eval_class_instance.start() real_time_ta_eval_list.append(real_time_eval_class_instance) return real_time_ta_eval_list