Path: blob/master/src/ticker/BaseTicker.py
296 views
import logging12from core.Controller import Controller34class BaseTicker:5def __init__(self, broker):6self.broker = broker7self.brokerLogin = Controller.getBrokerLogin()8self.ticker = None9self.tickListeners = []1011def startTicker(self):12pass1314def stopTicker(self):15pass1617def registerListener(self, listener):18# All registered tick listeners will be notified on new ticks19self.tickListeners.append(listener)2021def registerSymbols(self, symbols):22pass2324def unregisterSymbols(self, symbols):25pass2627def onNewTicks(self, ticks):28# logging.info('New ticks received %s', ticks)29for tick in ticks:30for listener in self.tickListeners:31try:32listener(tick)33except Exception as e:34logging.error('BaseTicker: Exception from listener callback function. Error => %s', str(e))3536def onConnect(self):37logging.info('Ticker connection successful.')3839def onDisconnect(self, code, reason):40logging.error('Ticker got disconnected. code = %d, reason = %s', code, reason)4142def onError(self, code, reason):43logging.error('Ticker errored out. code = %d, reason = %s', code, reason)4445def onReconnect(self, attemptsCount):46logging.warn('Ticker reconnecting.. attemptsCount = %d', attemptsCount)4748def onMaxReconnectsAttempt(self):49logging.error('Ticker max auto reconnects attempted and giving up..')5051def onOrderUpdate(self, data):52#logging.info('Ticker: order update %s', data)53pass545556