class ChanKLU: def __init__(self, time, open, high, low, close, volume): # _time, _close, _open, _high, _low, _extra_info={} self.kl_type = None self.time = time self.close = close self.open = open self.high = high self.low = low self.volume = volume self.idx = 0 self.index = 0 self.macd = 0 self.signal = 0 self.macdhist = 0 self.ma5 = 0 self.ma10 = 0 self.ma30 = 0 self.ma250 = 0 self.rsi = 0 def set_idx(self, idx): self.idx = idx self.index = idx def set_indicators(self, item): self.macd = float(item['macd']) if item['macd'] else 0 self.signal = float(item['macdsignal']) if item['macdsignal'] else 0 self.macdhist = float(item['macdhist']) if item['macdhist'] else 0 self.ma5 = float(item['ma5']) if item['ma5'] else 0 self.ma10 = float(item['ma10']) if item['ma10'] else 0 self.ma30 = float(item['ma30']) if item['ma30'] else 0 self.ma250 = float(item['ma250']) if item['ma250'] else 0 self.rsi = float(item['rsi']) if item['rsi'] else 0 def get_feature_data(self): features = dict() features['klu_close'] = self.close features['klu_open'] = self.open features['klu_high'] = self.high features['klu_low'] = self.low features['klu_volume'] = self.volume features['klu_index'] = self.index features['klu_macd'] = self.macd features['klu_signal'] = self.signal features['klu_macdhist'] = self.macdhist features['klu_ma5'] = self.ma5 features['klu_ma10'] = self.ma10 features['klu_ma30'] = self.ma30 features['klu_ma250'] = self.ma250 features['klu_rsi'] = self.rsi return features