def task_historical_spot(start_time='2021-04-01 00:00:00'): engine.dispose() time.sleep(10) tickers = utils.currencies() tickers = tickers[1] if not start_time: start_time = dt.fromisoformat('2021-01-01') while app.running: for ticker in tickers: # print(ticker, end=', ') try: last_date = model_service.last_date(ticker, engine) if last_date: model_service.del_row(last_date, engine) start_time = last_date[1] historical_data = getHistorical(ticker, startTime=start_time) if historical_data != []: model_service.save_historical_data_spot( engine, ticker, historical_data) except: traceback.print_exc() pass time.sleep(5) # print('Spot terminado, esperando 30 segundos') time.sleep(30)
def task_current_signal(sma=config.SMA, ema=config.EMA, table='historical_ratios'): time.sleep(30) tickers = utils.currencies() tickers = tickers[0] if sma > ema: cant_rows = (sma * 2) + 10 else: cant_rows = (ema * 2) + 10 while app.running: for ticker in tickers: try: data = utils.bring_data_db(ticker=ticker, k=cant_rows, table=table) sma_value = utils.sma(data=data, k=sma) ema_value = utils.ema(data=data, k=ema) if ema_value and sma_value: if ema_value <= sma_value: resultado = 'open' else: resultado = 'close' save_current_signal(ticker, resultado) except: traceback.print_exc() print(f'error con {ticker}') time.sleep(15)
target=task_current_futures_price) task_current_futures_price.start() task_historical_ratios_quick = Process(name="task_historical_ratios_quick", target=task_historical_ratios_quick) task_historical_ratios_quick.start() task_historical_spot = Thread(name="task_historical_spot", target=task_historical_spot) task_historical_spot.start() task_historical_futures = Thread(name="task_historical_futures", target=task_historical_futures) task_historical_futures.start() tickers = utils.currencies() tickers = tickers[0] task_avg_ratio1 = Process(name="task_avg_ratio", target=task_avg_ratio, args=(tickers, 'weekly_avg_year_ratio', 10080)) task_avg_ratio1.start() task_avg_ratio2 = Process(name="task_avg_ratio", target=task_avg_ratio, args=(tickers, 'daily_avg_year_ratio', 1440)) task_avg_ratio2.start() task_avg_ratio3 = Process(name="task_avg_ratio", target=task_avg_ratio, args=(tickers, 'six_hours_avg_year_ratio', 360))
def currency(value): if value not in utils.currencies(): raise ValueError() else: return value
ImageBootstrap2('avatar', form.notnull, width=config.AVATAR_WIDTH, height=config.AVATAR_HEIGHT, src=config.AVATAR_PLACEHOLD, description='Avatar'), ) users_edit = form.Form( form.Hidden('id'), form.Textbox('name', form.notnull, description='Name', placeholder="John Smith"), form.Dropdown('currency', zip(*tee([''] + utils.currencies())), validcurrency, description='Currency'), ) users_connect = DevelopmentForm( Connect('google', description='Google', class_='btn-connect btn-connect-google'), Connect('facebook', description='Facebook', class_='btn-connect btn-connect-facebook'), Connect('twitter', description='Twitter', class_='btn-connect btn-connect-twitter'), Connect('fake', description='Fake', class_='btn-connect', DEV=True),