Advertisement
Guest User

Untitled

a guest
Sep 20th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. async def exchange_all_positions(self):
  2. positions = {}
  3. posicoes = []
  4. executa = True
  5.  
  6. while executa:
  7. try:
  8. positions = await self.exchange.private_get_position()
  9. executa = False
  10. except Exception as error:
  11. if await self.trata_erro_exchange(error=error, name=sys._getframe().f_code.co_name):
  12. break
  13. except:
  14. print('Error exception on', sys._getframe().f_code.co_name, sys.exc_info()[0], sys.exc_info()[1])
  15. break
  16.  
  17. #await self.exchange.close()
  18.  
  19. if positions:
  20. for y in positions:
  21. if y.get('isOpen', False):
  22. #print(y['breakEvenPrice'], self.dados_user['first_name'])
  23. side = 'Buy' if y.get('currentQty', 0) > 0 else 'Sell'
  24. dados = {'symbol': y.get('symbol',None), 'profit': round(y.get('unrealisedRoePcnt',None) * 100,2), 'side': side, 'qty': abs(y.get('currentQty', 0)), 'price': y.get('avgEntryPrice', None), 'type_order': 'open position', 'id_telegram': self.dados_user['id_telegram'], 'id_account': self.dados_user['id'], 'exchange': self.dados_user['exchange'], 'obs':None, 'order_id': 'open position'}
  25. posicoes.append(dados)
  26.  
  27.  
  28. return {'dados_user':self.dados_user, 'retorno': posicoes, 'error':executa}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement