49 lines
1.8 KiB
Python
49 lines
1.8 KiB
Python
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 |