Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- async def exchange_open_orders(self):
- open_orders = {}
- retorno = {}
- dados = []
- active = []
- target = []
- stop = []
- all_data = []
- executa = True
- while executa:
- try:
- open_orders = await self.exchange.fetch_open_orders()
- executa = False
- except Exception as error:
- if await self.trata_erro_exchange(error=error, name=sys._getframe().f_code.co_name):
- break
- except:
- print('Error exception on', sys._getframe().f_code.co_name, sys.exc_info()[0], sys.exc_info()[1])
- break
- if open_orders:
- for x in open_orders:
- dados.append(x['info'])
- df = pd.DataFrame(data=dados)
- df = df.sort_values(['symbol'], ascending=True)
- for index, x in df.iterrows():
- text = x['text']
- if len(text.split('\n')) > 1:
- text = text.split('\n')[1]
- if x['ordType'] not in ('StopLimit', 'stop_loss') and not x['execInst']:
- all_data.append({'symbol': x['symbol'], 'side': x['side'], 'price': x['price'], 'qty': x['orderQty'], 'type_order': 'active', 'id_telegram': self.dados_user['id_telegram'], 'id_account': self.dados_user['id'], 'exchange': self.dados_user['exchange'], 'obs':text, 'order_id':x['orderID']})
- elif x['execInst'] == 'Close' and x['ordType'] not in ('StopLimit', 'stop_loss', 'Stop'):
- all_data.append({'symbol': x['symbol'], 'side': x['side'], 'price': x['price'], 'qty': x['orderQty'], 'type_order': 'target', 'id_telegram': self.dados_user['id_telegram'], 'id_account': self.dados_user['id'], 'exchange': self.dados_user['exchange'], 'obs':text, 'order_id':x['orderID']})
- elif x['ordType'] in ('StopLimit', 'stop_loss', 'Stop'):
- all_data.append({'symbol': x['symbol'], 'side': x['side'], 'price': x['stopPx'], 'qty': x['orderQty'], 'type_order': 'stop', 'id_telegram': self.dados_user['id_telegram'], 'id_account': self.dados_user['id'], 'exchange': self.dados_user['exchange'], 'obs':text, 'order_id':x['orderID']})
- retorno = {'active': active, 'target': target, 'stop': stop}
- return {'dados_user':self.dados_user, 'retorno': all_data, 'error':executa}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement