def trade_history(self, market, exchange=None): """ personal trades """ client = self.clients[exchange] if exchange == exc.CRYPTOPIA: txs, _ = client.get_tradehistory(market) return txs elif exchange == exc.BITTREX: r = client.get_market_history(market)['result'] f = lambda x: models.conv_usertx(x, exchange) r = list(map(f, r)) return r elif exchange == exc.KUCOIN: r = client.get_dealt_orders(limit=500) f = lambda x: models.conv_usertx(x, exchange) r = list(map(f, r)) return r elif exchange == exc.HITBTC: pass elif exchange == exc.BINANCE: self.logger.info("trade history %s" % (str(market))) tx = client.get_my_trades(symbol=market) self.logger.info("trade history %s" % (str(tx))) f = lambda x: models.conv_usertx(x, exchange) r = list(map(f, tx)) return r
def get_tradehistory_all(self, exchange=None): client = self.clients[exchange] if exchange == exc.CRYPTOPIA: txs, err = client.get_tradehistory_all() f = lambda x: models.conv_usertx(x, exchange) txs = list(map(f, txs)) return txs elif exchange == exc.BITTREX: txs = client.get_order_history() f = lambda x: models.conv_usertx(x, exchange) txs = list(map(f, txs)) return txs elif exchange == exc.KUCOIN: r = client.get_dealt_orders(limit=100)['datas'] f = lambda x: models.conv_usertx(x, exchange) txs = list(map(f, r)) return txs elif exchange == exc.HITBTC: #TODO r = client.get_transactions() self.logger.debug(r) return r elif exchange == exc.BINANCE: #TODO use balances #m = models.get_market("LTC","BTC",exc.BINANCE) ms = [m] alltx = list() for m in markets: tx = client.get_my_trades(symbol=m) #NEED to brute force symbol because binance is stupid #https://www.reddit.com/r/CryptoMarkets/comments/7qjvxr/binance_api_method_to_retrieve_users_order_trade/ self.logger.info("trade history %s" % (str(tx))) f = lambda x: models.conv_usertx(x, exchange) r = list(map(f, tx)) self.logger.info("trade history %s" % (str(r))) alltx += r return alltx