Files
Chan/ChanMACDUnitTF.py
T

45 lines
1.6 KiB
Python

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))