def __fill_possible_pattern_ranges__(self): pattern_type_set = set(self.pattern_type_list) if len(pattern_type_set.intersection(set(FT.get_normal_types()))) > 0: self.range_detector_max = PatternRangeDetectorMax(self.sys_config) self.range_detector_min = PatternRangeDetectorMin(self.sys_config) if len(pattern_type_set.intersection(set( FT.get_head_shoulder_types()))) > 0: self.range_detector_h_s = PatternRangeDetectorHeadShoulder( self.sys_config) if len( pattern_type_set.intersection( set(FT.get_head_shoulder_bottom_types()))) > 0: self.range_detector_h_s_b = PatternRangeDetectorHeadShoulderBottom( self.sys_config) if FT.FIBONACCI_ASC in self.pattern_type_list: wave_list = [ wave for wave in self.fib_wave_tree.fibonacci_wave_list if wave.wave_type == FD.ASC ] self.range_detector_fib_asc = PatternRangeDetectorFibonacciAsc( self.sys_config, wave_list) if FT.FIBONACCI_DESC in self.pattern_type_list: wave_list = [ wave for wave in self.fib_wave_tree.fibonacci_wave_list if wave.wave_type == FD.DESC ] self.range_detector_fib_desc = PatternRangeDetectorFibonacciDesc( self.sys_config, wave_list)
def _get_covered_pattern_types_() -> list: return FT.get_normal_types()