예제 #1
0
        public Task StopAsync()
        {
            _internalTraderTimer.Stop();

            _settlementsTimer.Stop();

            _lykkeTradeSubscriberMonitor.Stop();

            _b2C2QuoteSubscriber.Stop();

            _b2C2OrderBooksSubscriber.Stop();

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

            _lykkeTradeSubscriber.Stop();

            _marketMakerTimer.Stop();

            _lykkeBalancesTimer.Stop();

            _externalBalancesTimer.Stop();

            _hedgingTimer.Stop();

            _pnLStopLossEngineTimer.Stop();

            _internalQuotePublisher.Stop();

            _internalOrderBookPublisher.Stop();

            return(Task.CompletedTask);
        }
        public Task StopAsync()
        {
            _marketMakerTimer.Stop();

            _balancesTimer.Stop();

            _lykkeTradeSubscriber.Stop();

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

            return(Task.CompletedTask);
        }
예제 #3
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();
                }
            }
        }
예제 #4
0
        public Task StopAsync()
        {
            _settlementsTimer.Stop();

            _indexTickPriceSubscriber.Stop();

            _lykkeOrderBookSubscriber.Stop();

            _lykkeTradeSubscriber.Stop();

            _lykkeBalancesTimer.Stop();

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

            return(Task.CompletedTask);
        }