Exemplo n.º 1
0
        private TradeAdvice GetEmaAdvice()
        {
            var hourlyCandlesUntilNow = Candles.TakeWhile(t => t.Timestamp <= Ticker.Timestamp).ToList();

            if (hourlyCandlesUntilNow.Count < 36)
            {
                return(TradeAdvice.Hold);
            }
            var emaAdvice = new EmaCross().Forecast(hourlyCandlesUntilNow);

            return(emaAdvice);
        }
Exemplo n.º 2
0
        public async Task <Chart> GetChartAsync(string market)
        {
            var traderGrain = _clusterClient.GetGrain <ITraderGrain>(market);
            var traderState = await traderGrain.GetTraderData();

            var chart           = new Chart();
            var candlesResponse = await _cryptoApi.GetCandlesAsync(market, TickInterval.OneHour);

            var report = new EmaCross().Prepare(candlesResponse.Content);

            foreach (var candle in candlesResponse.Content)
            {
                candle.EmaAdvice = report[candlesResponse.Content.IndexOf(candle)];
            }
            chart.Candles = candlesResponse.Content;
            chart.Trades  = traderState.Trades;
            return(chart);
        }