Пример #1
0
    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
Пример #2
0
    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