mirror of
https://github.com/discountry/ritmex-bot.git
synced 2026-09-11 09:18:08 +00:00
commit
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from asyncio import gather, run
|
||||
import ccxt.pro
|
||||
from pprint import pprint
|
||||
|
||||
|
||||
async def watch_ticker_continuously(exchange, symbol):
|
||||
filename = exchange.id + '-' + symbol.replace('/', '-') + '.csv'
|
||||
print('Watching', exchange.id, symbol, filename)
|
||||
keys = ['index', 'exchange', 'symbol', 'timestamp', 'open', 'high', 'low', 'close', 'baseVolume']
|
||||
with open(filename, 'w') as file:
|
||||
file.write(','.join(keys) + "\n")
|
||||
index = 0
|
||||
while True:
|
||||
try:
|
||||
ticker = await exchange.watch_ticker(symbol)
|
||||
values = [str(index), exchange.id] + [str(ticker[key]) for key in keys[2:]]
|
||||
print(*values)
|
||||
with open(filename, 'a') as file:
|
||||
file.write(','.join(values) + "\n")
|
||||
index += 1
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
|
||||
async def watch_tickers_continuously(exchange_id, overrides, symbols):
|
||||
exchange_class = getattr(ccxt.pro, exchange_id)
|
||||
exchange = exchange_class(overrides)
|
||||
coroutines = [watch_ticker_continuously(exchange, symbol) for symbol in symbols]
|
||||
await gather(*coroutines)
|
||||
await exchange.close()
|
||||
|
||||
|
||||
async def main():
|
||||
exchanges = {
|
||||
'binance': {'options': {'defaultType': 'future'}},
|
||||
'huobipro': {}
|
||||
}
|
||||
symbols = ['BTC/USDT', 'ETH/USDT', 'LTC/USDT', 'XRP/USDT', 'BCH/USDT']
|
||||
coroutines = [watch_tickers_continuously(exchange_id, exchanges[exchange_id], symbols) for exchange_id in exchanges.keys()]
|
||||
return await gather(*coroutines)
|
||||
|
||||
|
||||
run(main())
|
||||
Reference in New Issue
Block a user