Beispiel #1
0
        private async Task SendOpenOrdersNotifications(DateTime lastChecked)
        {
            if (_config.OpenOrderNotification.HasValue && _config.OpenOrderNotification.Value)
            {
                var newOrders = await _exchangeService.GetNewOpenOrders(lastChecked - TimeSpan.FromDays(2));

                if (newOrders.Count > 30)
                {
                    var stringBuilder = new StringBuffer();
                    stringBuilder.Append(StringContants.BinanceMoreThan30OpenOrders);

                    await _bus.SendAsync(new SendMessageCommand(stringBuilder));

                    return;
                }

                foreach (var openOrder in newOrders)
                {
                    var sb = new StringBuffer();
                    sb.Append($"{openOrder.Opened:g}\n");
                    sb.Append($"New {openOrder.Exchange} OPEN order\n");
                    sb.Append($"{StringContants.StrongOpen}{openOrder.Side} {openOrder.Base}-{openOrder.Terms}{StringContants.StrongClose}\n");
                    sb.Append($"Price: {openOrder.Price}\n");
                    sb.Append($"Quanitity: {openOrder.Quantity}");
                    await _bus.SendAsync(new SendMessageCommand(sb));
                }
            }
        }