Пример #1
0
	def update_orders(self):
		fee = .01*self.queryManager.get_account()['fee']
		span = calcSpan(self.vertex,fee)
		bidPrice = self.vertex-span['bid']
		askPrice = self.vertex+span['ask']
		bidId = self.__getId(bidPrice)
		askId = self.__getId(askPrice)
		if not askId and not bidId:
			bidId = self.queryManager.buy_btc(self.amount, bidPrice)['id']
			askId = self.queryManager.sell_btc(self.amount, askPrice,)['id']
		elif not askId:
			self.vertex = askPrice
			span = calcSpan(self.vertex,fee)
			bidPrice = self.vertex-span['bid']
			askPrice = self.vertex+span['ask']
			bidId = self.queryManager.buy_btc(self.amount, bidPrice)['id']
			askId = self.queryManager.sell_btc(self.amount, askPrice,)['id']
		elif not bidId:
			self.vertex = bidPrice
			span = calcSpan(self.vertex,fee)
			bidPrice = self.vertex-span['bid']
			askPrice = self.vertex+span['ask']
			bidId = self.queryManager.buy_btc(self.amount, bidPrice)['id']
			askId = self.queryManager.sell_btc(self.amount, askPrice,)['id']

		orders = self.queryManager.get_orders()
		for order in orders:
			if (order['id'] != bidId) and (order['id'] != askId):
				self.queryManager.cancel_order(order['id'])
Пример #2
0
	def update_orders(self):
		pct = self.pct
		accountQry = self.queryManager.get_account()
		fee = 0.004
		usd = accountQry['balance']['usd']
		btc = accountQry['balance']['btc']

		vertex = (usd/pct-usd)/btc
		span = calcSpan(vertex,fee)
		if (vertex%span['bid']) <= (span['bid']/2):
			vertex -= vertex%span['bid']
		else:
			vertex += span['bid'] - (vertex%span['bid'])
		span = calcSpan(vertex,fee)
		bidPrice = vertex-span['bid']
		askPrice = vertex+span['ask']

		fee = -.001
		bidAmount = (usd-pct*usd-pct*btc*bidPrice)/bidPrice
		bidAmount -= .5*bidAmount*fee
		askAmount = fabs((usd-pct*usd-pct*btc*askPrice)/askPrice)
		askAmount -= .5*askAmount*fee

		oldOrders = self.queryManager.get_orders()
		bidId = ''
		askId = ''
		for order in oldOrders:
			if fabs(order['price']-bidPrice)<0.001:
				bidId = order['id']
			if fabs(order['price']-askPrice)<0.001:
				askId = order['id']
		if not bidId:
			bidQry = self.queryManager.buy_btc(bidAmount, bidPrice)
			bidId = bidQry['id']
		if not askId:
			askQry = self.queryManager.sell_btc(askAmount, askPrice)
			askId = askQry['id']

		idList = []
		for order in oldOrders:
			idList.append(order['id'])
		for oid in idList:
			if (oid != bidId) and (oid != askId):
				self.queryManager.cancel_order(oid)
Пример #3
0
    def update_orders(self):
        pct = self.pct
        accountQry = self.queryManager.get_account()
        fee = 0.01 * (accountQry["fee"])
        usd = accountQry["balance"]["usd"]
        btc = accountQry["balance"]["btc"]

        vertex = (usd / pct - usd) / btc
        span = calcSpan(vertex, fee)
        if (vertex % span["bid"]) <= (span["bid"] / 2):
            vertex -= vertex % span["bid"]
        else:
            vertex += span["bid"] - (vertex % span["bid"])
        span = calcSpan(vertex, fee)
        bidPrice = vertex - span["bid"] * 1.5
        askPrice = vertex + span["ask"] * 1.5

        bidAmount = (usd - pct * usd - pct * btc * bidPrice) / bidPrice
        bidAmount -= 0.5 * bidAmount * fee
        askAmount = fabs((usd - pct * usd - pct * btc * askPrice) / askPrice)
        askAmount -= 0.5 * askAmount * fee

        oldOrders = self.queryManager.get_orders()
        bidId = ""
        askId = ""
        for order in oldOrders:
            if fabs(order["price"] - bidPrice) < 0.001:
                bidId = order["id"]
            if fabs(order["price"] - askPrice) < 0.001:
                askId = order["id"]
        if not bidId:
            bidQry = self.queryManager.buy_btc(bidAmount, bidPrice)
            bidId = bidQry["id"]
        if not askId:
            askQry = self.queryManager.sell_btc(askAmount, askPrice)
            askId = askQry["id"]

        idList = []
        for order in oldOrders:
            idList.append(order["id"])
        for oid in idList:
            if (oid != bidId) and (oid != askId):
                self.queryManager.cancel_order(oid)
Пример #4
0
def testSpan():
    fee = 0.006
    i = 0
    random.seed()
    passed = True
    while i < 100:
        randPrice = float(random.randrange(100,1000))/100
        span = calcSpan(randPrice, fee)
        askspan = (randPrice+span)*fee*2
        msg = '@ '+str(randPrice)+' span >'+str(askspan)+'... :'+str(span)
        print msg
        if not (span>askspan):
            passed = False
        i += 1
    print passed
Пример #5
0
def printDepth():
    depth = translator.getDepth()
    for key in depth.keys():
        print key
        for order in depth[key]:
            print str(order)

def printOrders():
    orderList = translator.getOrders()
    for order in orderList:
        print order

def testSpan():
    fee = 0.006
    i = 0
    random.seed()
    passed = True
    while i < 100:
        randPrice = float(random.randrange(100,1000))/100
        span = calcSpan(randPrice, fee)
        askspan = (randPrice+span)*fee*2
        msg = '@ '+str(randPrice)+' span >'+str(askspan)+'... :'+str(span)
        print msg
        if not (span>askspan):
            passed = False
        i += 1
    print passed

print calcSpan(5.6,.006)