coding macd
This commit is contained in:
+14
-22
@@ -1,4 +1,4 @@
|
||||
from ChanEnum import Chan_MACD_STATE, Chan_MACDUNITTF_DIR
|
||||
from ChanEnum import Chan_MACD_STATE, Chan_MACDUNITTF_DIR, Chan_MACDHISTSET_DIR
|
||||
|
||||
|
||||
class ChanMACDUnitTF():
|
||||
@@ -16,32 +16,24 @@ class ChanMACDUnitTF():
|
||||
self.start_type = start_type
|
||||
self.end_type = None
|
||||
self.near0_count = 1
|
||||
self.high_klu = start_klu
|
||||
self.low_klu = start_klu
|
||||
self.peak_klu = None
|
||||
def set_next(self, next_unittf):
|
||||
self.next = next_unittf
|
||||
def add_histset(self, histset):
|
||||
self.histset_list.append(histset)
|
||||
histset.set_next(self)
|
||||
def add_klu(self, klu):
|
||||
if klu:
|
||||
self.klu_list.append(klu)
|
||||
klu.set_unittf(self)
|
||||
if self.unittf_dir == Chan_MACDUNITTF_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 klu.macd_state == Chan_MACD_STATE.NEAR0 and len(self.histset_list) > 1:
|
||||
#print(self.start_time, klu.time, self.near0_count)
|
||||
self.near0_count += 1
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user