public Task StartAsync()
        {
            _balancesTimer.Start();

            _lykkeTradeSubscriber.Start();

            foreach (QuoteSubscriber quoteSubscriber in _quoteSubscribers)
            {
                quoteSubscriber.Start();
            }

            _marketMakerTimer.Start();

            return(Task.CompletedTask);
        }
Ejemplo n.º 2
0
        public async Task StartAsync()
        {
            _internalQuotePublisher.Start();

            _internalOrderBookPublisher.Start();

            _orderBooksUpdatesReportPublisher.Start();

            _tradeService.Initialize();

            await _storageMigrationService.MigrateStorageAsync();

            _b2C2QuoteSubscriber.Start();

            _b2C2OrderBooksSubscriber.Start();

            foreach (QuoteSubscriber quoteSubscriber in _quoteSubscribers)
            {
                quoteSubscriber.Start();
            }

            _lykkeTradeSubscriber.Start();

            _orderBooksUpdatesReportSubscriber.Start();

            _lykkeBalancesTimer.Start();

            _externalBalancesTimer.Start();

            _marketMakerTimer.Start();

            _marketMakerService.Start();

            _hedgeService.Start();

            _hedgingTimer.Start();

            _settlementsTimer.Start();

            _internalTraderTimer.Start();

            _lykkeTradeSubscriberMonitor.Start();

            _pnLStopLossEngineTimer.Start();
        }
Ejemplo n.º 3
0
        public Task StartAsync()
        {
            _lykkeBalancesTimer.Start();

            _lykkeTradeSubscriber.Start();

            _lykkeOrderBookSubscriber.Start();

            _indexTickPriceSubscriber.Start();

            foreach (QuoteSubscriber quoteSubscriber in _quoteSubscribers)
            {
                quoteSubscriber.Start();
            }

            _settlementsTimer.Start();

            return(Task.CompletedTask);
        }
Ejemplo n.º 4
0
        protected override async Task OnExecuteAsync(CancellationToken cancellation)
        {
            if (DateTime.UtcNow - _lykkeTradeSubscriber.LastMessageTime > TimeSpan.FromMinutes(15))
            {
                Log.WarningWithDetails("No trades received for five minutes. Subscriber will be reconnected.", new
                {
                    _lykkeTradeSubscriber.LastMessageTime
                });

                _lykkeTradeSubscriber.Stop();

                await Task.Delay(TimeSpan.FromMinutes(1), cancellation);

                if (!cancellation.IsCancellationRequested)
                {
                    _lykkeTradeSubscriber.Start();
                }
            }
        }