更新macd和signal形态判断

This commit is contained in:
jackyu66git
2025-09-06 01:01:51 +08:00
parent 09cfa56e1d
commit 154462d3f8
5 changed files with 104 additions and 43 deletions
+11 -11
View File
@@ -18,18 +18,22 @@ class ChanMACDHistSet():
self.last_klu = start_klu
self.start_klu = start_klu
self.peak_div_list = []
self.middle_area = 0
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
self.middle_area = abs(middle_klu.macdhist)
def set_unittf_div(self, unittf_div):
self.unittf_div = unittf_div
def add_klu(self, klu):
klu.set_histset(self)
self.klu_list.append(klu)
self.area += klu.macdhist
self.area += abs(klu.macdhist)
if self.middle_klu:
self.middle_area += abs(klu.macdhist)
if self.middle_klu and self.middle_klu.index + 1 == klu.index:
self.low_klu = None
self.peak_klu = None
@@ -52,10 +56,6 @@ class ChanMACDHistSet():
else:
self.peak_div_list.append(klu.pre)
self.div_count += 1
if klu.macd > 0 and self.histset_dir == Chan_MACDHISTSET_DIR.ABOVE:
klu.pre.continue_div = True
elif klu.macd < 0 and self.histset_dir == Chan_MACDHISTSET_DIR.UNDER:
klu.pre.continue_div = True
else:
self.peak_klu = klu.pre
else:
@@ -70,15 +70,15 @@ class ChanMACDHistSet():
else:
self.peak_div_list.append(klu.pre)
self.div_count += 1
if klu.macd > 0 and self.histset_dir == Chan_MACDHISTSET_DIR.ABOVE:
klu.pre.continue_div = True
elif klu.macd < 0 and self.histset_dir == Chan_MACDHISTSET_DIR.UNDER:
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
if len(self.peak_div_list) > 0:
klu = self.peak_div_list[-1]
if klu.macd * klu.macdhist > 0:
klu.continue_div = True
if self.start_klu.index == end_klu.index:
self.peak_klu = self.start_klu
if self.start_klu.index + 1 == end_klu.index:
@@ -95,6 +95,6 @@ class ChanMACDHistSet():
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)
#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)