Пример #1
0
        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());
            }
        }
Пример #2
0
        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());
            }
        }