Beispiel #1
0
    def test_ask_and_cancel_xrp(self):
        ticker = self.bittrex_manager.get_ticker(CurrencyPair(Currency('XRP'), Currency('BTC')))
        close = ticker[0]['close']

        order_id = self.bittrex_manager.ask(CurrencyPair(Currency('XRP'), Currency('BTC')),
                                            10, Decimal(close) * Decimal(1.8))
        self.assertIsNotNone(order_id)

        time.sleep(3)

        cancel = self.bittrex_manager.cancel(order_id)
        self.assertTrue(cancel)
Beispiel #2
0
def tube_find(request):
    from exchange.symbol import Currency, CurrencyPair
    if request.method == 'GET':
        premiums = []

        bithumb_tickers = bithumb_manager.get_ticker()
        bittrex_tickers = bittrex_manager.get_ticker()

        thumb_btc_price = bithumb_tickers[0]["close"]
        #rate_api_r = requests.get("https://free.currencyconverterapi.com/api/v5/convert?q=USD_KRW&compact=y")
        #usd_krw_rate = Decimal(json.loads(rate_api_r.text)['USD_KRW']['val'])
        #rate_api_r = requests.get("http://api.fixer.io/latest?base=USD")
        rate_api_r = requests.get('http://earthquake.kr/exchange')
        usd_krw_rate = Decimal(json.loads(rate_api_r.text)['USDKRW'][0])

        btc_usdt = list(
            filter(
                lambda d: str(d['market']) == str(
                    CurrencyPair(Currency('BTC'), Currency('USDT'))),
                bittrex_tickers))[0]['close']
        gimp_per = (thumb_btc_price -
                    btc_usdt * usd_krw_rate) / thumb_btc_price * 100

        # BTC
        btc_dict = {
            "currency": "BTC",
            "thumbPrice": int(thumb_btc_price),
            "thumbValue": "1",
            "trexValue": "1",
            "valueGap": "0",
            "valueGapPer": "0",
            "gimpPer": '{0:.2f}'.format(gimp_per)
        }

        for bithumb_ticker in bithumb_tickers:
            match = list(
                filter(
                    lambda d: str(d['market'].getcounter()) == str(
                        bithumb_ticker['market'].getcounter()) and d['market'].
                    getbase() == Currency('BTC'), bittrex_tickers))
            if match:
                currency = str(bithumb_ticker['market'].getcounter())
                black_list = global_preferences[
                    'dashboard_coinBlackList'].split(',')
                if str(bithumb_ticker['market'].getcounter()) in black_list:
                    continue

                bittrex_ticker = match[0]
                thumb_price = bithumb_ticker['close']
                thumb_value = Decimal(thumb_price / thumb_btc_price)
                trex_value = bittrex_ticker['close']
                value_gap = thumb_value - trex_value
                value_gap_per = value_gap / trex_value * 100
                gimp_per = (thumb_price - trex_value * btc_usdt *
                            usd_krw_rate) / thumb_price * 100
                premiums.append({
                    "currency": currency,
                    "thumbPrice": int(thumb_price),
                    "thumbValue": '{0:.8f}'.format(thumb_value),
                    "trexValue": '{0:.8f}'.format(trex_value),
                    "valueGap": '{0:.8f}'.format(value_gap),
                    "valueGapPer": '{0:.2f}'.format(value_gap_per),
                    "gimpPer": '{0:.2f}'.format(gimp_per)
                })

        sorted_premiums = sorted(premiums,
                                 key=lambda k: float(k['valueGapPer']))
        src = sorted_premiums[:3]
        dest = sorted_premiums[:-4:-1]

        response_data = {
            'src': src,
            'dest': dest,
            'premiums': [btc_dict] + premiums
        }

        return HttpResponse(json.dumps(response_data),
                            content_type="application/json")
    else:
        response_data = {'error': 'allowed only by GET'}
        return HttpResponseBadRequest(json.dumps(response_data,
                                                 default=json_default),
                                      content_type="application/json")
Beispiel #3
0
 def test_get_withdrawal_history_eth(self):
     r = self.bittrex_manager.get_withdrawal_history(Currency('ETH'))
     print(r)
     self.assertIsNotNone(r)
Beispiel #4
0
 def test_get_order_history_eth(self):
     r = self.bittrex_manager.get_order_history(CurrencyPair(Currency('ETH'), Currency('BTC')))
     print(r)
     self.assertIsNotNone(r)
Beispiel #5
0
 def test_get_address_eth(self):
     r = self.bittrex_manager.get_address(Currency('ETH'))
     self.assertEqual("0x6a8145a878060d1dab3000913273fc0ab54cc998", r['address'])
Beispiel #6
0
 def test_get_address_btc(self):
     r = self.bittrex_manager.get_address(Currency('BTC'))
     self.assertEqual("1EmDhHaYZZ4zUJqE3yBMgZTjPaPeg2Qfme", r['address'])
Beispiel #7
0
 def test_get_balance_eth(self):
     r = self.bittrex_manager.get_balance(Currency('ETH'))
     print(r)
     self.assertIsNotNone(r)