def __init__(self, key, sec): Thread.__init__(self) self._core = MtGoxCore(key, sec) # start with a clean order book logger.info('Initialising; Swiping order book...') while True: data = self._core.orders() oids = map(lambda o: o['oid'], data['orders'] ) logger.debug(oids) if oids == []: break map(self._core.cancel, oids) logger.info('Order book is clean') self._orders = {} self._balance = convert.balance(data) self._lock = Lock() self._running = False logger.info('Initialisation done!')
# format = '%(name)-12s: %(message)s', # ) # logging.getLogger('MtGoxCore').setLevel(logging.DEBUG) # logging.getLogger('MtGox').setLevel(logging.DEBUG) import time, convert, pynotify, logging from mtgoxcore import MtGoxCore from config import KEY, SEC from decimal import Decimal FEE = Decimal('0.0043') gox = MtGoxCore(KEY, SEC) bal = convert.balance(gox.balance()) #bal = {'btcs': Decimal(40), 'usds': Decimal(0)} while True: try: tic = convert.ticker(gox.ticker()) newbal = convert.balance(gox.balance()) last = tic['last'] buy = tic['sell'] sell = tic['buy'] usds = bal['usds'] btcs = bal['btcs'] newusds = newbal['usds'] newbtcs = newbal['btcs'] valusds = (1 - FEE) * newbtcs * last + newusds valbtcs = (1 - FEE) * newusds / last + newbtcs