def importTable(table): db = SqliteDB() prices = importToArray(table) for p in prices: db.addData(table, (p['dtlong'], p['date'], p['time'], p['open'], p['high'], p['low'], p['close'], p['vol'], p['rmb'], p['chan'], p['per'], )) db.commit()
def calc_all_macd(table, fast = 12, slow = 26, sign = 9): log.info('MACD generating for ' + table) db = SqliteDB().createIndicator(table, 'MACD', 'A', fast, slow, sign) prices = SqliteDB().getAllPrices(table) macds = calc_macd(prices, fast, slow, sign) for i in range(len(prices)): db.addIndicate(prices[i]['dtlong'], macds['macd'][i], macds['sign'][i], macds['fast'][i], macds['slow'][i]) db.commit() log.info('MACD done')
def calc_all_rsi(table, period = 14): log.info('RSI generating for ' + table) db = SqliteDB().createIndicator(table, 'RSI', 'A', period) prices = SqliteDB().getAllPrices(table) rsis = calc_rsi(prices, period) for i in range(len(prices)): db.addIndicate(prices[i]['dtlong'], rsis['rsi'][i], rsis['up'][i], rsis['down'][i]) db.commit() log.info('RSI done')
def calc_all_kdj(table, kPeriod = 5, dPeriod = 3, slowing =3): log.info('KDJ generating for ' + table) db = SqliteDB().createIndicator(table, 'KDJ', 'A', kPeriod, dPeriod, slowing) prices = SqliteDB().getAllPrices(table) kds = calc_kd(prices, kPeriod, dPeriod, slowing) for i in range(len(prices)): db.addIndicate(prices[i]['dtlong'], kds['k'][i], kds['d'][i]) db.commit() log.info('KDJ done')
def calc_all_macd(table, fast=12, slow=26, sign=9): log.info('MACD generating for ' + table) db = SqliteDB().createIndicator(table, 'MACD', 'A', fast, slow, sign) prices = SqliteDB().getAllPrices(table) macds = calc_macd(prices, fast, slow, sign) for i in range(len(prices)): db.addIndicate(prices[i]['dtlong'], macds['macd'][i], macds['sign'][i], macds['fast'][i], macds['slow'][i]) db.commit() log.info('MACD done')
def calc_all_rsi(table, period=14): log.info('RSI generating for ' + table) db = SqliteDB().createIndicator(table, 'RSI', 'A', period) prices = SqliteDB().getAllPrices(table) rsis = calc_rsi(prices, period) for i in range(len(prices)): db.addIndicate(prices[i]['dtlong'], rsis['rsi'][i], rsis['up'][i], rsis['down'][i]) db.commit() log.info('RSI done')
def calc_all_kdj(table, kPeriod=5, dPeriod=3, slowing=3): log.info('KDJ generating for ' + table) db = SqliteDB().createIndicator(table, 'KDJ', 'A', kPeriod, dPeriod, slowing) prices = SqliteDB().getAllPrices(table) kds = calc_kd(prices, kPeriod, dPeriod, slowing) for i in range(len(prices)): db.addIndicate(prices[i]['dtlong'], kds['k'][i], kds['d'][i]) db.commit() log.info('KDJ done')
def calc_all_bolling(table, period = 20, deviate = 2): log.info('Bolling generating for ' + table) db = SqliteDB().createIndicator(table, 'BOLLING', 'A', period, deviate) prices = SqliteDB().getAllPrices(table) bollings = calc_bolling(prices, period, deviate) for i in range(len(prices)): db.addIndicate(prices[i]['dtlong'], bollings['boll'][i], bollings['mean'][i], bollings['upper'][i], bollings['lower'][i], bollings['std'][i]) db.commit() log.info('Bolling done')
def calc_all_bolling(table, period=20, deviate=2): log.info('Bolling generating for ' + table) db = SqliteDB().createIndicator(table, 'BOLLING', 'A', period, deviate) prices = SqliteDB().getAllPrices(table) bollings = calc_bolling(prices, period, deviate) for i in range(len(prices)): db.addIndicate(prices[i]['dtlong'], bollings['boll'][i], bollings['mean'][i], bollings['upper'][i], bollings['lower'][i], bollings['std'][i]) db.commit() log.info('Bolling done')
def importTable(table): db = SqliteDB() prices = importToArray(table) for p in prices: db.addData(table, ( p['dtlong'], p['date'], p['time'], p['open'], p['high'], p['low'], p['close'], p['vol'], p['rmb'], p['chan'], p['per'], )) db.commit()
def calc_all_ma(table, matype, period, weight=0): log.info('MA generating ' + matype + ' for ' + table) db = SqliteDB().createIndicator(table, 'MA', matype, period, weight) prices = SqliteDB().getAllPrices(table) ps = [p['close'] for p in prices] if matype == 'MA': mas = calc_ma(ps, period) elif matype == 'EMA': mas = calc_ema(ps, period) elif matype == 'SMA': mas = calc_sma(ps, period) elif matype == 'LWMA': mas = calc_lwma(ps, period) for i in range(len(prices)): db.addIndicate(prices[i]['dtlong'], mas[i]) db.commit() log.info('MA done') return mas
def calc_all_ma(table, matype, period, weight=0): log.info("MA generating " + matype + " for " + table) db = SqliteDB().createIndicator(table, "MA", matype, period, weight) prices = SqliteDB().getAllPrices(table) ps = [p["close"] for p in prices] if matype == "MA": mas = calc_ma(ps, period) elif matype == "EMA": mas = calc_ema(ps, period) elif matype == "SMA": mas = calc_sma(ps, period) elif matype == "LWMA": mas = calc_lwma(ps, period) for i in range(len(prices)): db.addIndicate(prices[i]["dtlong"], mas[i]) db.commit() log.info("MA done") return mas