Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- from collections import defaultdict
- from os import system
- import json
- import hmac
- import requests
- from requests import Request, Session
- from prettytable import PrettyTable
- def clear():
- _ = system('clear')
- pares = [
- {'secret': '', 'key': '','sub': 'main','id':""},
- {'secret': '', 'key': '','sub': '','id':""},
- {'secret': '', 'key': '','sub':'main','id':""},
- {'secret': '', 'key': '','sub': 'main','id':""},
- {'secret': '', 'key': '', 'sub': 'Battle Royale','id':''}]
- while True:
- table = PrettyTable()
- table.field_names = ["id", "Balance Total", "Futures", "Side", "Open Size","PnL", "Avg. Open Price"]
- for par in pares:
- ts = int(time.time() * 1000)
- request = Request('GET', 'https://ftx.com/api/wallet/balances')
- prepared = request.prepare()
- signature_payload = f'{ts}{prepared.method}{prepared.path_url}'.encode()
- signature = hmac.new(par['secret'].encode(), signature_payload, 'sha256').hexdigest()
- request.headers[f'FTX-KEY'] = par['key']
- request.headers[f'FTX-SIGN'] = signature
- request.headers[f'FTX-TS'] = str(ts)
- # Only include line if you want to access a subaccount
- if par['sub']=='main':
- pass
- else:
- request.headers[f'FTX-SUBACCOUNT'] = par['sub']
- s = Session()
- reply = s.send(request.prepare())
- objeto = json.loads(reply.content)['result']
- total = sum([x['usdValue'] for x in objeto])
- #---------------------------------------------------
- ts = int(time.time() * 1000)
- request = Request('GET', 'https://ftx.com/api/positions')
- prepared = request.prepare()
- signature_payload = f'{ts}{prepared.method}{prepared.path_url}'.encode()
- signature = hmac.new(par['secret'].encode(), signature_payload, 'sha256').hexdigest()
- request.headers[f'FTX-KEY'] = par['key']
- request.headers[f'FTX-SIGN'] = signature
- request.headers[f'FTX-TS'] = str(ts)
- # Only include line if you want to access a subaccount
- if par['sub']=='main':
- pass
- else:
- request.headers[f'FTX-SUBACCOUNT'] = par['sub']
- s = Session()
- reply = s.send(request.prepare())
- objeto = json.loads(reply.content)['result']
- for x in objeto:
- if x['size']!=0:
- table.add_row([par['id'], total, x['future'], x['side'], x['size'],x['unrealizedPnl'], abs((x['cost']/x['size']))])
- else:
- pass
- clear()
- print(table)
- time.sleep(15)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement