#!/usr/bin/env python3 """This script generate json data from bittrex""" import json import sys import os import arrow from freqtrade import (exchange, arguments, misc) DEFAULT_DL_PATH = 'freqtrade/tests/testdata' arguments = arguments.Arguments(sys.argv[1:], 'download utility') arguments.testdata_dl_options() args = arguments.parse_args() TICKER_INTERVALS = ['1m', '5m'] PAIRS = [] if args.pairs_file: with open(args.pairs_file) as file: PAIRS = json.load(file) PAIRS = list(set(PAIRS)) dl_path = DEFAULT_DL_PATH if args.export and os.path.exists(args.export): dl_path = args.export since_time = None if args.days: since_time = arrow.utcnow().shift(days=-args.days).timestamp * 1000 print(f'About to download pairs: {PAIRS} to {dl_path}') # Init exchange exchange._API = exchange.init_ccxt({'key': '', 'secret': '', 'name': args.exchange}) for pair in PAIRS: for tick_interval in TICKER_INTERVALS: print(f'downloading pair {pair}, interval {tick_interval}') data = exchange.get_ticker_history(pair, tick_interval, since_ms=since_time) if not data: print('\tNo data was downloaded') break print('\tData was downloaded for period %s - %s' % ( arrow.get(data[0][0] / 1000).format(), arrow.get(data[-1][0] / 1000).format())) # save data pair_print = pair.replace('/', '_') filename = f'{pair_print}-{tick_interval}.json' misc.file_dump_json(os.path.join(dl_path, filename), data)