Files
Chan/ChanMACDUnitTF.py
T

49 lines
1.8 KiB
Python

from ChanEnum import Chan_MACD_STATE, Chan_MACDUNITTF_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.high_klu = start_klu
self.low_klu = start_klu
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
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