Пример #1
0
    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
Пример #2
0
    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
Пример #4
0
 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
Пример #5
0
 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
Пример #6
0
 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
Пример #7
0
    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
Пример #8
0
    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
Пример #9
0
    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
Пример #10
0
    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
Пример #11
0
    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
Пример #12
0
    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
Пример #13
0
    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