""" interval: 60, "D" from: integer from timestamp in seconds limit: max size of 200 """ from config_strategy_api import session from config_strategy_api import timeframe from config_strategy_api import kline_limit import datetime import time # Get start times (TF 15,30,60,240,D) time_start_date = 0 if timeframe == 60: time_start_date = datetime.datetime.now() - datetime.timedelta(hours=kline_limit) if timeframe == "D": time_start_date = datetime.datetime.now() - datetime.timedelta(days=kline_limit) if timeframe == 15: time_start_date = datetime.datetime.now() - datetime.timedelta(minutes=kline_limit*15) if timeframe == 30: time_start_date = datetime.datetime.now() - datetime.timedelta(minutes=kline_limit*30) if timeframe == 240: time_start_date = datetime.datetime.now() - datetime.timedelta(hours=kline_limit*4) time_start_seconds = int(time_start_date.timestamp()) # Get historical prices (klines) def get_price_klines(symbol): # Get prices prices = session.query_mark_price_kline( symbol = symbol, interval = timeframe, limit = kline_limit, from_time = time_start_seconds ) # Manage API calls time.sleep(0.1) # Return output if len(prices["result"]) != kline_limit: return [] return prices["result"]