from ChanEnum import Chan_MACD_STATE, Chan_MACDUNITTF_DIR, Chan_MACDHISTSET_DIR class ChanMACDUnitTF(): def __init__(self, start_time, start_klu, pre_unittf, dir, start_type): self.start_time = start_time self.end_time = None self.start_klu = start_klu self.end_klu = None self.klu_list = [] self.klu_list.append(start_klu) self.histset_list = [] self.next = None self.pre = pre_unittf self.unittf_dir = dir self.start_type = start_type self.end_type = None self.near0_count = 1 self.peak_klu = None def set_next(self, next_unittf): self.next = next_unittf def add_histset(self, histset): self.histset_list.append(histset) def add_klu(self, klu): self.klu_list.append(klu) self.cal_peak_div() def cal_peak_div(self): if len(self.histset_list) == 1: self.peak_klu = self.histset_list[0].find_peak_from(self.start_klu) else: for histset in self.histset_list: if histset.peak_klu and self.peak_klu: if abs(histset.peak_klu.macdhist) > abs(self.peak_klu.macdhist): self.peak_klu = histset.peak_klu else: histset.set_unittf_div(True) def set_end_klu(self, end_klu, end_type): self.add_klu(end_klu) self.end_type = end_type self.end_klu = end_klu self.end_time = end_klu.time if self.peak_klu: print(self.start_klu.time, self.peak_klu.time) else: print("None", len(self.histset_list))