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_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_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_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 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