예제 #1
0
 public AccountManager(AccountsCacheService accountsCacheService,
                       IMarginTradingAccountsRepository repository,
                       IConsole console,
                       MarginSettings marginSettings,
                       IRabbitMqNotifyService rabbitMqNotifyService,
                       IAccountGroupCacheService accountGroupCacheService,
                       IClientNotifyService clientNotifyService,
                       IEquivalentPricesService equivalentPricesService,
                       IClientAccountClient clientAccountClient,
                       IMarginTradingAccountsRepository accountsRepository,
                       ITradingConditionsCacheService tradingConditionsCacheService,
                       ILog log,
                       OrdersCache ordersCache,
                       IEventChannel <AccountBalanceChangedEventArgs> acountBalanceChangedEventChannel,
                       ITradingEngine tradingEngine)
     : base(nameof(AccountManager), 60000, log)
 {
     _accountsCacheService = accountsCacheService;
     _clientAccountClient  = clientAccountClient;
     _repository           = repository;
     _console                       = console;
     _marginSettings                = marginSettings;
     _rabbitMqNotifyService         = rabbitMqNotifyService;
     _accountGroupCacheService      = accountGroupCacheService;
     _accountsRepository            = accountsRepository;
     _tradingConditionsCacheService = tradingConditionsCacheService;
     _log = log;
     _clientNotifyService              = clientNotifyService;
     _equivalentPricesService          = equivalentPricesService;
     _ordersCache                      = ordersCache;
     _acountBalanceChangedEventChannel = acountBalanceChangedEventChannel;
     _tradingEngine                    = tradingEngine;
 }
예제 #2
0
        public TradingEngine(
            IEventChannel <MarginCallEventArgs> marginCallEventChannel,
            IEventChannel <StopOutEventArgs> stopoutEventChannel,
            IEventChannel <OrderPlacedEventArgs> orderPlacedEventChannel,
            IEventChannel <OrderClosedEventArgs> orderClosedEventChannel,
            IEventChannel <OrderCancelledEventArgs> orderCancelledEventChannel,
            IEventChannel <OrderLimitsChangedEventArgs> orderLimitsChangesEventChannel,
            IEventChannel <OrderClosingEventArgs> orderClosingEventChannel,
            IEventChannel <OrderActivatedEventArgs> orderActivatedEventChannel,
            IEventChannel <OrderRejectedEventArgs> orderRejectedEventChannel,

            IValidateOrderService validateOrderService,
            IQuoteCacheService quoteCashService,
            IAccountUpdateService accountUpdateService,
            ICommissionService swapCommissionService,
            IEquivalentPricesService equivalentPricesService,
            IAccountsCacheService accountsCacheService,
            OrdersCache ordersCache,
            IAccountAssetsCacheService accountAssetsCacheService,
            IMatchingEngineRouter meRouter,
            IThreadSwitcher threadSwitcher,
            IContextFactory contextFactory,
            IAssetPairDayOffService assetPairDayOffService,
            ILog log)
        {
            _marginCallEventChannel         = marginCallEventChannel;
            _stopoutEventChannel            = stopoutEventChannel;
            _orderPlacedEventChannel        = orderPlacedEventChannel;
            _orderClosedEventChannel        = orderClosedEventChannel;
            _orderCancelledEventChannel     = orderCancelledEventChannel;
            _orderActivatedEventChannel     = orderActivatedEventChannel;
            _orderClosingEventChannel       = orderClosingEventChannel;
            _orderLimitsChangesEventChannel = orderLimitsChangesEventChannel;
            _orderRejectedEventChannel      = orderRejectedEventChannel;

            _quoteCashService          = quoteCashService;
            _accountUpdateService      = accountUpdateService;
            _swapCommissionService     = swapCommissionService;
            _validateOrderService      = validateOrderService;
            _equivalentPricesService   = equivalentPricesService;
            _accountsCacheService      = accountsCacheService;
            _ordersCache               = ordersCache;
            _accountAssetsCacheService = accountAssetsCacheService;
            _meRouter               = meRouter;
            _threadSwitcher         = threadSwitcher;
            _contextFactory         = contextFactory;
            _assetPairDayOffService = assetPairDayOffService;
            _log = log;
        }