49 lines
1.7 KiB
Python
49 lines
1.7 KiB
Python
from ChanEnum import Chan_MACDSEG_DIR
|
|
|
|
|
|
class ChanMACDSeg():
|
|
def __init__(self, start_time, start_klu, pre_seg, seg_dir):
|
|
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.unittf_list = []
|
|
self.hist_set = []
|
|
self.seg_dir = seg_dir
|
|
self.pre = pre_seg
|
|
self.next = None
|
|
self.high_klu = start_klu
|
|
self.low_klu = start_klu
|
|
self.ref_klu = None
|
|
def set_next(self, next_seg):
|
|
self.next = next_seg
|
|
def add_klu(self, klu):
|
|
if klu:
|
|
self.klu_list.append(klu)
|
|
klu.set_seg(self)
|
|
if self.seg_dir == Chan_MACDSEG_DIR.ABOVE:
|
|
if klu.macdhist > self.high_klu.macdhist:
|
|
self.high_klu = klu
|
|
else:
|
|
if klu.macdhist < self.low_klu.macdhist:
|
|
self.low_klu = klu
|
|
else:
|
|
if klu.macdhist < self.high_klu.macdhist:
|
|
self.high_klu = klu
|
|
else:
|
|
if klu.macdhist > self.low_klu.macdhist:
|
|
self.low_klu = klu
|
|
if self.high_klu.index != self.start_klu.index:
|
|
self.ref_klu = self.high_klu
|
|
def add_unittf(self, unittf):
|
|
self.unittf_list.append(unittf)
|
|
unittf.set_next(self)
|
|
def add_histset(self, histset):
|
|
self.hist_set.append(histset)
|
|
histset.set_next(self)
|
|
def set_end_klu(self, end_klu):
|
|
self.add_klu(end_klu)
|
|
self.end_klu = end_klu
|
|
self.end_time = end_klu.time |