Back to Ccxt

Async Binance Futures Vs Spot

wiki/examples/py/async-binance-futures-vs-spot.md

4.5.521.3 KB
Original Source
python
# -*- coding: utf-8 -*-

import asyncio
import os
import sys
from pprint import pprint


import ccxt.async_support as ccxt  # noqa: E402


async def load(exchange, symbol, type='spot'):
   exchange.options['defaultType'] = type
   await exchange.load_markets(True)
   try:
       return {
           'balance': await exchange.fetch_balance(),
           # you actually want pagination here
           # https://github.com/ccxt/ccxt/wiki/Manual#pagination
           # but this will do as an example, tweak it for your needs
           'orders': await exchange.fetch_orders(symbol),
           'open orders': await exchange.fetch_open_orders(symbol),
           'closed orders': await exchange.fetch_closed_orders(symbol),
           'my trades': await exchange.fetch_my_trades(symbol),
       }
   except Exception as e:
       print('\n\nError in load() with type =', type, '-', e)
       raise e


async def run():
   exchange = ccxt.binance({
       'apiKey': 'YOUR_API_KEY',
       'secret': 'YOUR_SECRET',
   })
   symbol = 'BTC/USDT'
   everything = {
       'spot': await load(exchange, symbol, 'spot'),
       'future': await load(exchange, symbol, 'future'),
   }
   await exchange.close()
   return everything


asyncio.run(run())