Esempio n. 1
0
        private async Task <Unit> PriceUpdated(Ticker ticker)
        {
            if (!IsInTestMode)
            {
                await _traderGrain.UpdateTrades(TraderState.Trades);

                await _hubNotifier.UpdateTicker(ticker);
            }
            return(Unit.Default);
        }
Esempio n. 2
0
        private async Task <Unit> PriceUpdated(Ticker ticker)
        {
            Ticker = ticker;
            if (_lastCandleUpdateTime.Expired(TimeSpan.FromMinutes(30), DateTime.UtcNow))
            {
                _lastCandleUpdateTime = DateTime.UtcNow;
                var candlesResponse = await _cryptoApi.GetCandlesAsync(Market, TickInterval.OneHour);

                _coinTrader.Candles = candlesResponse.Content;
            }
            if (!IsInTestMode)
            {
                await _traderGrain.UpdateTrades(TraderState.Trades);

                await _traderGrain.UpdatePriceAsync(ticker);

                await _hubNotifier.UpdateTicker(ticker);
            }
            return(Unit.Default);
        }
Esempio n. 3
0
        public async Task <Unit> UpdatePrice(Ticker ticker)
        {
            if (IsInTestMode)
            {
                (_cryptoApi as FakeBittrexApi)?.UpdateBuyOrders(Ticker);
            }

            Ticker = ticker;
            if (_firstTicker == null)
            {
                _firstTicker = Ticker;
            }
            if (_tickerIndex == 1784)
            {
                Console.WriteLine("found one");
            }
            _tickerIndex++;
            if (ticker.Timestamp == default)
            {
                ticker.Timestamp = DateTime.UtcNow;
            }
            Debug.WriteLine($"Update {_tickerIndex}\t{ticker.Bid}\t{ticker.Bid.GetReadablePercentageChange(_firstTicker.Bid)}%");

            await UpdateTrades();

            if (!IsInTestMode)
            {
                await _traderGrain.UpdateTrades(Trades);

                await _hubNotifier.UpdateTicker(ticker);
            }

            if (IsInTestMode)
            {
                (_cryptoApi as FakeBittrexApi)?.UpdateSellOrders(Ticker);
            }
            return(Unit.Default);
        }