Add Continue Div and Cross Div
This commit is contained in:
+40
-47
@@ -11,18 +11,17 @@ class ChanMACDHistSet():
|
||||
self.next = None
|
||||
self.pre = pre_histset
|
||||
self.peak_klu = None
|
||||
self.second_peak_klu = None
|
||||
self.area = start_klu.macdhist
|
||||
self.unittf_div = Chan_MACDUNITTF_DIV.UNDIV
|
||||
self.middle_klu = None
|
||||
self.middle_peak = None
|
||||
self.second_middle_peak = None
|
||||
self.div_count = 0
|
||||
self.last_klu = start_klu
|
||||
self.low_klu = None
|
||||
self.start_klu = start_klu
|
||||
self.peak_div_list = []
|
||||
def set_next(self, next_histset):
|
||||
self.next = next_histset
|
||||
def set_pre(self, pre_histset):
|
||||
self.pre = pre_histset
|
||||
def set_middle_klu(self, middle_klu):
|
||||
self.middle_klu = middle_klu
|
||||
def set_unittf_div(self, unittf_div):
|
||||
@@ -35,44 +34,42 @@ class ChanMACDHistSet():
|
||||
self.low_klu = None
|
||||
self.peak_klu = None
|
||||
self.div_count = 0
|
||||
self.peak_div_list = []
|
||||
else:
|
||||
if self.last_klu:
|
||||
self.cal_peak_klu(klu)
|
||||
self.cal_macdhist_klu(klu)
|
||||
self.last_klu = klu
|
||||
def cal_peak_klu(self, klu):
|
||||
def cal_macdhist_klu(self, klu):
|
||||
if self.middle_klu:
|
||||
if self.low_klu is None and abs(klu.macdhist) > abs(self.last_klu.macdhist):
|
||||
self.low_klu = self.last_klu
|
||||
return
|
||||
else:
|
||||
if self.peak_klu is None and self.low_klu and abs(klu.macdhist) < abs(self.last_klu.macdhist):
|
||||
self.peak_klu = self.last_klu
|
||||
self.low_klu = None
|
||||
elif self.low_klu and self.peak_klu:
|
||||
if abs(self.last_klu.macdhist) > abs(self.peak_klu.macdhist):
|
||||
self.peak_klu = self.last_klu
|
||||
self.low_klu = None
|
||||
elif abs(self.last_klu.macdhist) > abs(klu.macdhist):
|
||||
self.second_peak_klu = self.last_klu
|
||||
self.div_count += 1
|
||||
self.low_klu = None
|
||||
if klu.index >= self.middle_klu.index + 2:
|
||||
if klu.pre.pre:
|
||||
if abs(klu.pre.macdhist) > abs(klu.pre.pre.macdhist) and abs(klu.pre.macdhist) > abs(klu.macdhist):
|
||||
if self.peak_klu:
|
||||
if abs(klu.pre.macdhist) > abs(self.peak_klu.macdhist):
|
||||
self.peak_klu = klu.pre
|
||||
self.div_count = 0
|
||||
self.peak_div_list = []
|
||||
else:
|
||||
self.peak_div_list.append(klu.pre)
|
||||
self.div_count += 1
|
||||
klu.pre.continue_div = True
|
||||
else:
|
||||
self.peak_klu = klu.pre
|
||||
else:
|
||||
if self.peak_klu is None and abs(klu.macdhist) < abs(self.last_klu.macdhist):
|
||||
self.peak_klu = self.last_klu
|
||||
return
|
||||
else:
|
||||
if self.low_klu is None and self.peak_klu and abs(klu.macdhist) > abs(self.last_klu.macdhist):
|
||||
self.low_klu = self.last_klu
|
||||
return
|
||||
else:
|
||||
if self.peak_klu and self.low_klu:
|
||||
if abs(self.last_klu.macdhist) > abs(self.peak_klu.macdhist):
|
||||
self.peak_klu = self.last_klu
|
||||
self.low_klu = None
|
||||
elif abs(self.last_klu.macdhist) > abs(klu.macdhist):
|
||||
self.second_peak_klu = self.last_klu
|
||||
self.div_count += 1
|
||||
self.low_klu = None
|
||||
if len(self.klu_list) >= 3:
|
||||
if klu.pre.pre:
|
||||
if abs(klu.pre.macdhist) > abs(klu.pre.pre.macdhist) and abs(klu.pre.macdhist) > abs(klu.macdhist):
|
||||
if self.peak_klu:
|
||||
if abs(klu.pre.macdhist) > abs(self.peak_klu.macdhist):
|
||||
self.peak_klu = klu.pre
|
||||
self.div_count = 0
|
||||
self.peak_div_list = []
|
||||
else:
|
||||
self.peak_div_list.append(klu.pre)
|
||||
self.div_count += 1
|
||||
klu.pre.continue_div = True
|
||||
else:
|
||||
self.peak_klu = klu.pre
|
||||
def set_end_klu(self, end_klu):
|
||||
self.end_klu = end_klu
|
||||
self.end_time = end_klu.time
|
||||
@@ -83,13 +80,9 @@ class ChanMACDHistSet():
|
||||
self.peak_klu = self.start_klu
|
||||
else:
|
||||
self.peak_klu = end_klu
|
||||
#if self.div_count > 0:
|
||||
#print("Continue:", self.index, self.start_time, self.second_peak_klu.time, self.div_count)
|
||||
"""
|
||||
if self.div_klu:
|
||||
print(self.start_time, self.peak_klu.time, self.div_klu.time, self.klu_list[-1].time, len(self.klu_list), self.histset_dir)
|
||||
elif self.peak_klu:
|
||||
print(self.start_time, "Peak:", self.peak_klu.time, self.klu_list[-1].time, len(self.klu_list), self.histset_dir)
|
||||
else:
|
||||
print(self.start_time, "None", self.klu_list[-1].time, len(self.klu_list), self.histset_dir)
|
||||
"""
|
||||
peak_str = ""
|
||||
for peak_div in self.peak_div_list:
|
||||
peak_str += f"{peak_div.time}, "
|
||||
if self.peak_klu and len(self.peak_div_list) > 0:
|
||||
print("Continue Div: ",self.start_time, "Peak:", self.peak_klu.time, "Div: ", peak_str, self.histset_dir, self.div_count)
|
||||
|
||||
Reference in New Issue
Block a user