Astranome

bnb scan

May 31st, 2020
328
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.98 KB | None | 0 0
  1. import xlwt # Import `xlwt`         pip install xlwt
  2. book = xlwt.Workbook()  # create xls file
  3. book = xlwt.Workbook(encoding="utf-8")# Initialize a workbook
  4. sheet1 = book.add_sheet("Full_List")  # Add a sheet to the workbook  
  5. sheet2 = book.add_sheet("Sorted")  # Add a sheet to the workbook
  6.  
  7. from binance_api import Binance
  8. bot = Binance(
  9.     API_KEY='EEt5ipvr7JMMn1CSO6alvf6lEKk4Dmz05WOX0hb7TcaBWMqn9evA8PeTjx7e4Ewe',
  10.     API_SECRET='xQpOoyHTWm8jRc5wK4CvgsThF3JNxvGgj987meB7rmPaSUIKJsxLhUTTalrHqpUz'
  11.     )
  12. SYM='BNBBTC'
  13. # INFO = 'ddd'
  14. # INFO = bot.exchangeInfo()                 # Настройки и лимиты биржи - /api/v1/exchangeInfo
  15. # INFO - bot.depth(symbol=SYM,limit=5)      # Открытые ордера (книгa ордеров), limit - кол-во возвращаемых записей от 5 до 1000
  16. # INFO = bot.trades(symbol=SYM,limit=1)     # Последние (чужие) сделки - /api/v1/trades
  17. # INFO = bot.klines(symbol=SYM, interval='5m', limit=1) # Данные по свечам, limit – кол-во свечей (максимум 500, по умолчанию 500)
  18. # INFO = bot.aggTrades(symbol=SYM, limit=1) # Сжатая история сделок - /api/v1/aggTrades    
  19. # INFO = bot.tickerPrice(symbol=SYM)        # Последняя цена по паре (или парам)
  20. # INFO = bot.tickerBookTicker(symbol=SYM)   # Лучшие цены покупки/продажи - /api/v3/ticker/bookTicker
  21. INFO = bot.ticker24hr()         # Статистика за 24 часа -  /api/v1/ticker/24hr   Если symbol не указан, возвращаются данные по всем парам
  22. print (INFO)
  23. Dict=dict()
  24. for i in range(len(INFO)): # разбиваем список словарей на словари
  25.     Dict[i]=INFO[i]        # создаем новый массив словарей
  26.     INFO[i].update({'SPRED':00})    # добавляем новые
  27.     INFO[i].update({'SPRED/BID':00})# значения к
  28.     INFO[i].update({'RANK':00})     # нашему словарю
  29.  
  30. row=0 # столбцы
  31. col=0 # строки
  32. for key in Dict[0]: # перебираем все ключи самого первого словаря (любого)
  33.     sheet1.write(col,row, key)   # для формирования из них строки с названием столбцов
  34.     row+=1
  35.  
  36. for col in Dict: # в каждую строку будем записывать содержимое словаря из массива словарей Dict
  37.     row=0 # обнуляем столбец
  38.     for key in Dict[col]: # перебор значений всех ключей в выбранном словаре
  39.         sheet1.write(col+1,row, Dict[col][key])# построчная запись в xls файл всех значений словаря
  40.         row+=1
  41.  
  42. for key in INFO:  # расчет оценочных параметров для каждой пары
  43.     try:
  44.         key['SPRED'] =   (float(key['askPrice'])-float(key['bidPrice']))
  45.         key['SPRED/BID']=(float(key['askPrice'])-float(key['bidPrice'])) / float(key['bidPrice'])
  46.         key['RANK'] =    (float(key['askPrice'])-float(key['bidPrice'])) / float(key['bidPrice']) * float(key['volume'])
  47.     except(ZeroDivisionError):
  48.         print('ZeroDivisionError')
  49.         pass
  50. Sorted_List=sorted(INFO, key= lambda d: d['RANK'], reverse=True)   # сортировка списка словарей по убыванию 'RANK'
  51. NewRows=['symbol', 'priceChangePercent', 'highPrice', 'lowPrice', 'weightedAvgPrice', 'bidPrice', 'askPrice', 'volume', 'SPRED','SPRED/BID', 'RANK']  # перечень нужных столбцов
  52.  
  53. for i in range(len(NewRows)):
  54.     key=NewRows[i] # название столбца
  55.     row=i # столбцы
  56.     col=0 # строки
  57.     sheet2.write(col,row, key) # пишем название столбца
  58.     for j in Sorted_List:
  59.         col+=1
  60.         sheet2.write(col,row, j[key]) # заполняем все строки столбца
  61.  
  62. book.save("PairsParams.xls")# Save the workbook
Add Comment
Please, Sign In to add comment