Source code for algo_engine.engine
from __future__ import annotations
import logging
from .. import LOGGER
LOGGER = LOGGER.getChild('Engine')
def set_logger(logger: logging.Logger):
global LOGGER
LOGGER = logger
algo_engine.LOGGER = logger.getChild('AlgoEngine')
c_event_engine.EVENT_ENGINE.logger = logger.getChild('EventEngine')
c_market_engine.LOGGER = logger.getChild('MarketEngine')
trade_engine.LOGGER = logger.getChild('TradeEngine')
[docs]
class Singleton(type):
_instances = {}
def __call__(cls, *args, **kwargs):
if cls not in cls._instances:
cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
return cls._instances[cls]
from .c_event_engine import EVENT_ENGINE, TOPIC, TopicSet
from .c_market_engine import MDS, MarketDataService, MarketDataMonitor, MonitorManager
from .algo_engine import AlgoTemplate, ALGO_ENGINE, ALGO_REGISTRY
from .trade_engine import DirectMarketAccess, Balance, PositionManagementService, Inventory, RiskProfile
__all__ = [
'LOGGER',
'EVENT_ENGINE', 'TOPIC', 'TopicSet',
'AlgoTemplate', 'ALGO_ENGINE', 'ALGO_REGISTRY',
'MDS', 'MarketDataService', 'MarketDataMonitor', 'MonitorManager', 'Singleton',
'DirectMarketAccess', 'Balance', 'PositionManagementService', 'Inventory', 'RiskProfile'
]