mirror of
https://github.com/discountry/ritmex-bot.git
synced 2026-09-09 16:28:06 +00:00
81 lines
1.9 KiB
Markdown
81 lines
1.9 KiB
Markdown
- [Async Basic Callchain](./examples/py/)
|
|
|
|
|
|
```python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import asyncio
|
|
import os
|
|
import sys
|
|
|
|
|
|
import ccxt.async_support as ccxt # noqa: E402
|
|
|
|
|
|
async def run_all_exchanges(exchange_ids):
|
|
results = {}
|
|
|
|
for exchange_id in exchange_ids:
|
|
|
|
exchange = getattr(ccxt, exchange_id)({
|
|
'options': {
|
|
'useWebapiForFetchingFees': False,
|
|
}
|
|
})
|
|
|
|
symbol = 'ETH/BTC'
|
|
print('Exchange:', exchange_id)
|
|
|
|
print(exchange_id, 'symbols:')
|
|
markets = await load_markets(exchange, symbol) # ←----------- STEP 1
|
|
print(list(markets.keys()))
|
|
|
|
print(symbol, 'ticker:')
|
|
ticker = await fetch_ticker(exchange, symbol) # ←------------ STEP 2
|
|
print(ticker)
|
|
|
|
print(symbol, 'orderbook:')
|
|
orderbook = await fetch_orderbook(exchange, symbol) # ←------ STEP 3
|
|
print(orderbook)
|
|
|
|
await exchange.close() # ←----------- LAST STEP GOES AFTER ALL CALLS
|
|
|
|
results[exchange_id] = ticker
|
|
|
|
return results
|
|
|
|
|
|
async def load_markets(exchange, symbol):
|
|
try:
|
|
result = await exchange.load_markets()
|
|
return result
|
|
except ccxt.BaseError as e:
|
|
print(type(e).__name__, str(e), str(e.args))
|
|
raise e
|
|
|
|
|
|
async def fetch_ticker(exchange, symbol):
|
|
try:
|
|
result = await exchange.fetch_ticker(symbol)
|
|
return result
|
|
except ccxt.BaseError as e:
|
|
print(type(e).__name__, str(e), str(e.args))
|
|
raise e
|
|
|
|
|
|
async def fetch_orderbook(exchange, symbol):
|
|
try:
|
|
result = await exchange.fetch_order_book(symbol)
|
|
return result
|
|
except ccxt.BaseError as e:
|
|
print(type(e).__name__, str(e), str(e.args))
|
|
raise e
|
|
|
|
|
|
if __name__ == '__main__':
|
|
exchange_ids = ['bitfinex', 'okex', 'exmo']
|
|
exchanges = []
|
|
results = asyncio.run(run_all_exchanges(exchange_ids))
|
|
print([(exchange_id, ticker) for exchange_id, ticker in results.items()])
|
|
|
|
``` |