Ejemplo n.º 1
0
    def get_orderbook(self, market, exchange=None):
        client = self.clients[exchange]
        self.logger.debug("get orderbook %s %s" % (str(market), exchange))
        #market = models.conv_markets_to(market, exchange)

        if exchange == exc.CRYPTOPIA:
            book, err = client.get_orders(market)
            if err:
                self.logger.error("error " + str(err))
            else:
                book = models.conv_orderbook(book, exchange)
                return book
        elif exchange == exc.BITTREX:
            try:
                book = client.get_orderbook(market)["result"]
                book = models.conv_orderbook(book, exchange)
                return book
            except:
                self.logger.error("error fetching orderbook", exchange)
        elif exchange == exc.KUCOIN:
            try:
                ob = client.get_order_book(market, limit=20)
                book = models.conv_orderbook(ob, exchange)
                #timestamp
                return book
            except Exception:
                raise Exception
        elif exchange == exc.HITBTC:
            try:
                ob = client.get_orderbook(market)
                book = models.conv_orderbook(ob, exchange)
                return book
            except:
                self.logger.error("error fetching orderbook", exchange)

        elif exchange == exc.KRAKEN:
            r = client.get_orderbook(market)
            book = models.conv_orderbook(r, exchange)
            return book

        elif exchange == exc.BINANCE:
            try:
                ob = client.get_orderbook_symbol(market)
                book = models.conv_orderbook(ob, exchange)
                #self.logger.debug("book %s"%book)
                return book
            except Exception:
                raise Exception

        elif exchange == exc.BITMEX:
            bookdepth = 20
            ob = client.market_depth(market, depth=bookdepth)
            #self.logger.debug("book %s"%ob)
            book = models.conv_orderbook(ob, exchange)
            return book

        elif exchange == exc.DERIBIT:
            book = client.getorderbook(market)
            #book = models.conv_orderbook(ob, exchange)
            return book
Ejemplo n.º 2
0
    def get_orderbook(self, product_id, exchange):
        client = self.clients[self.session_user_id][exchange]

        if exchange == exc.DELTA:
            book = client.get_L2_orders(product_id)
            return book

        elif exchange == exc.BITMEX:
            bookdepth = 10
            ob = client.market_depth(product_id, depth=bookdepth)
            book = models.conv_orderbook(ob, exchange)
            return book
Ejemplo n.º 3
0
import numpy
import time
import json
import atexit
import logging
import threading
import time
import redis
from archon.metrics import calc_mid_price
from archon.model import models
#from topics import *

if __name__ == '__main__':
    try:
        abroker = BrokerService(setAuto=True, initFeeder=False)
        abroker.set_keys_exchange_file(exchanges=[exc.BITMEX])
        book = abroker.orderbook(exc.BITMEX)
        book = models.conv_orderbook(book, exc.BITMEX)
        mid = calc_mid_price(book)
        print("bitmex mid", mid)

        pos = abroker.position(exc.BITMEX)
        #print (pos)
        print(pos[0]["currentQty"])

        #oo = abroker.openorders(exc.BITMEX)
        #print (oo)

    except Exception as e:
        print("error ", e)