Beispiel #1
0
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
Beispiel #2
0
        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')