from threading import Lock import time from ccapi import Logger, Session, Subscription class MyLogger(Logger): def __init__(self): super().__init__() self._lock = Lock() def logMessage(self, severity: str, threadId: str, timeISO: str, fileName: str, lineNumber: str, message: str) -> None: self._lock.acquire() print( f'{threadId}: [{timeISO}] {{{fileName}:{lineNumber}}} {severity}{" " * 8}{message}' ) self._lock.release() myLogger = MyLogger() Logger.logger = myLogger if __name__ == '__main__': session = Session() subscription = Subscription('coinbase', 'BTC-USD', 'MARKET_DEPTH') session.subscribe(subscription) time.sleep(10) session.stop() Logger.logger = None
super().__init__() def processEvent(self, event: Event, session: Session) -> bool: print(f'Received an event:\n{event.toStringPretty(2, 2)}') return True # This line is needed. if __name__ == '__main__': if not os.environ.get('BINANCE_US_API_KEY'): print('Please set environment variable BINANCE_US_API_KEY', file=sys.stderr) sys.exit(1) if not os.environ.get('BINANCE_US_API_SECRET'): print('Please set environment variable BINANCE_US_API_SECRET', file=sys.stderr) sys.exit(1) eventHandler = MyEventHandler() option = SessionOptions() config = SessionConfigs() session = Session(option, config, eventHandler) request = Request(Request.Operation_CREATE_ORDER, 'binance-us', 'BTCUSD') request.appendParam({ 'SIDE': 'BUY', 'QUANTITY': '0.0005', 'LIMIT_PRICE': '20000', }) session.sendRequest(request) time.sleep(10) session.stop() print('Bye')