private static async Task SendTradeOverviewMessage(INotificationManager notificationManager, IDataStore dataStore) { var trades = await dataStore.GetActiveTradesAsync(); if (trades.Count > 0) { var exchangeOptions = AppSettings.Get <ExchangeOptions>(); var exchange = new BaseExchange(exchangeOptions); var stringResult = new StringBuilder(); foreach (var item in trades) { var ticker = await exchange.GetTicker(item.Market); var currentProfit = ((ticker.Bid - item.OpenRate) / item.OpenRate) * 100; stringResult.AppendLine($"#{item.Market}: *{currentProfit:0.00}%* opened {item.OpenDate.Humanize()} at {item.OpenRate:0.00000000} BTC"); } await notificationManager.SendNotification(stringResult.ToString()); } }
private static async Task SendOpenedTradesProfitText(INotificationManager notificationManager, IDataStore dataStore) { var trades = await dataStore.GetAllTradesNotCancelledAsync(); trades = trades.Where(x => x.CloseDate.HasValue == false).ToList(); if (trades.Count > 0) { var exchangeOptions = AppSettings.Get <ExchangeOptions>(); var exchange = new BaseExchange(exchangeOptions); var stringResult = new StringBuilder(); stringResult.AppendLine("*** Opened Trades Profit ***"); foreach (var item in trades) { var ticker = await exchange.GetTicker(item.Market); var currentProfit = ((ticker.Bid - item.OpenRate) / item.OpenRate) * 100; stringResult.AppendLine($"#{item.Market}: *{currentProfit:0.00}%* opened {item.OpenDate.Humanize()} at {item.OpenRate:0.00000000} BTC"); } await notificationManager.SendNotification(stringResult.ToString()); } }