def calculate_moving_average(self): sqlUtil = SqlUtil() marketUtil = MarketUtil() rows = sqlUtil.select_stock() for row in rows: code = row[0] rows_all = sqlUtil.select_stock_history_by_code(code) rows_all_count = len(rows_all) if rows_all_count >= 5: date = rows_all[rows_all_count - 1][0] code = rows_all[rows_all_count - 1][1] ma5, ma13, ma21, vma50 = marketUtil.cal_ma(rows_all) print('date = ' + date) print('code = ' + code) print('ma5 = ' + str(ma5)) print('ma13 = ' + str(ma13)) print('ma21 = ' + str(ma21)) print('vma50 = ' + str(vma50)) sqlUtil.update_stock_history_ma(date, code, str(ma5), str(ma13), str(ma21), str(vma50))
if len(rows_vma50) == 50: vma50 = volume_sum50 / 50 else: vma50 = '' # print('ma5 = ' + str(ma5)) # print('ma13 = ' + str(ma13)) # print('ma21 = ' + str(ma21)) # print('vma50 = ' + str(vma50)) date = rows_all[rows_all_count - 1][0] code = rows_all[rows_all_count - 1][1] return ma5, ma13, ma21, vma50 if __name__ == "__main__": sqlUtil = SqlUtil() rows_all = sqlUtil.select_stock_history_by_code('601318') marketUtil = MarketUtil() ma5, ma13, ma21, vma50 = marketUtil.cal_ma(rows_all) print('ma5 = ' + str(ma5)) print('ma13 = ' + str(ma13)) print('ma21 = ' + str(ma21)) print('vma50 = ' + str(vma50)) #marketUtil.cal_vma(rows_all)
if turn_over_rate >= 3: remark = '最近9天涨幅小于20%,今天换手率超过3%' code = rows_all[rows_all_count - 1][1] name = rows_all[rows_all_count - 1][2] sqlUtil.insert_stock_select( batch, code, name, '5', remark) print(remark) print(code) print(name) if __name__ == "__main__": sqlUtil = SqlUtil() ruleUtil = RuleUtil() rows = sqlUtil.select_stock() # print('开始时间:%s' % datetime.now()) # # for row in rows: # code = row[0] # rows_all = sqlUtil.select_stock_history_by_code(code) # ruleUtil.rule_1Win9(rows_all) # # print('结束时间:%s' % datetime.now()) rows_all = sqlUtil.select_stock_history_by_code('000584') ruleUtil.rule_bigDown(rows_all, '20200306')