Esempio n. 1
0
        public void sendEmail(string Recipient, string SymbolName, string CurrentPrice, tradeTypes TradeType, int Quantity)
        {
            using (var client = new SmtpClient("smtp.gmail.com", 587))
            {
                client.Credentials = new NetworkCredential("*****@*****.**", "algSweng500");
                var mail = new MailMessage();
                mail.To.Add(Recipient);
                mail.From = new MailAddress("*****@*****.**");
                if (TradeType == tradeTypes.Sell)
                {
                    mail.Subject = SymbolName + " request to sell " + Quantity.ToString() + " shares";
                    mail.Body = "AlgoTrader software is sending this email because the stock " + SymbolName + " has dropped below the required parameters. <br/>" +
                        "We recommend selling " + Quantity.ToString() + " shares.<br/><br/>" +
                        "Do you wish to sell? <br/>" +
                        "Please respond with either YES or NO";
                }
                else
                {
                    mail.Subject = SymbolName + " request to buy " + Quantity.ToString() + " shares";
                    mail.Body = "AlgoTrader software is sending this email because the stock " + SymbolName + " has risen above the required parameters. <br/>" +
                        "We recommend buying " + Quantity.ToString() + " shares<br/><br/>" +
                        "Do you wish to sell? <br/>" +
                        "Please respond with either YES or NO";
                }

                mail.IsBodyHtml = true;
                client.EnableSsl = true;
                client.Send(mail);

            }
        }
Esempio n. 2
0
        public void generateAlert(string symbolName, tradeTypes type, int quantity, double price)
        {
            ILog log = Logger;

            log.DebugFormat("Alert generated: {0} {1} {2} {3}", symbolName, type.ToString(), quantity.ToString(), price.ToString());

            TraderContext db = DbContext;
            Symbol        s  = db.Symbols.Where(x => x.name == symbolName).FirstOrDefault();
            Alert         a  = new Alert();

            a.AlertId      = Guid.NewGuid();
            a.Timestamp    = DateTime.Now;
            a.Symbol       = s;
            a.Type         = type;
            a.Quantity     = quantity;
            a.Price        = price;
            a.ResponseCode = responseCodes.Pending;
            db.Alerts.Add(a);
            db.SaveChanges();

            IEmail email      = new EmailSender();
            string to_address = db.SystemSettings.Where(x => x.Module == "UserAgent" && x.Name == "ALERTS_EMAIL_ADDRESS_TO").FirstOrDefault().Value;

            if (to_address == null)
            {
                throw new Exception("Unable to load user email address for alerts.");
            }
            email.sendEmail(to_address, symbolName, price.ToString(), type, a.Quantity);
            db.Dispose();
        }
Esempio n. 3
0
 public TradeMessage(ITrade trade)
     : this()
 {
     TradeId         = trade.TradeId;
     SymbolName      = trade.symbol.name;
     Price           = trade.price;
     Quantity        = trade.quantity;
     InitialQuantity = trade.InitialQuantity;
     Timestamp       = trade.timestamp;
     Type            = trade.type;
     Status          = trade.Status;
     PaidCommission  = trade.PaidCommission;
     TransactionId   = trade.TransactionId;
     RelatedTradeId  = trade.RelatedTradeId;
 }
Esempio n. 4
0
 public TradeMessage(ITrade trade)
     : this()
 {
     TradeId = trade.TradeId;
     SymbolName = trade.symbol.name;
     Price = trade.price;
     Quantity = trade.quantity;
     InitialQuantity = trade.InitialQuantity;
     Timestamp = trade.timestamp;
     Type = trade.type;
     Status = trade.Status;
     PaidCommission = trade.PaidCommission;
     TransactionId = trade.TransactionId;
     RelatedTradeId = trade.RelatedTradeId;
 }
Esempio n. 5
0
        public void generateAlert(string symbolName, tradeTypes type, int quantity, double price)
        {
            ILog log = Logger;
            log.DebugFormat("Alert generated: {0} {1} {2} {3}", symbolName, type.ToString(), quantity.ToString(), price.ToString());

            TraderContext db = DbContext;
            Symbol s = db.Symbols.Where(x => x.name == symbolName).FirstOrDefault();
            Alert a = new Alert();
            a.AlertId = Guid.NewGuid();
            a.Timestamp = DateTime.Now;
            a.Symbol = s;
            a.Type = type;
            a.Quantity = quantity;
            a.Price = price;
            a.ResponseCode = responseCodes.Pending;
            db.Alerts.Add(a);
            db.SaveChanges();

            IEmail email = new EmailSender();
            string to_address = db.SystemSettings.Where(x => x.Module == "UserAgent" && x.Name == "ALERTS_EMAIL_ADDRESS_TO").FirstOrDefault().Value;
            if (to_address == null) throw new Exception("Unable to load user email address for alerts.");
            email.sendEmail(to_address, symbolName, price.ToString(), type, a.Quantity);
            db.Dispose();
        }
Esempio n. 6
0
        public void sendEmail(string Recipient, string SymbolName, string CurrentPrice, tradeTypes TradeType, int Quantity)
        {
            using (var client = new SmtpClient("smtp.gmail.com", 587))
            {
                client.Credentials = new NetworkCredential("*****@*****.**", "algSweng500");
                var mail = new MailMessage();
                mail.To.Add(Recipient);
                mail.From = new MailAddress("*****@*****.**");
                if (TradeType == tradeTypes.Sell)
                {
                    mail.Subject = SymbolName + " request to sell " + Quantity.ToString() + " shares";
                    mail.Body    = "AlgoTrader software is sending this email because the stock " + SymbolName + " has dropped below the required parameters. <br/>" +
                                   "We recommend selling " + Quantity.ToString() + " shares.<br/><br/>" +
                                   "Do you wish to sell? <br/>" +
                                   "Please respond with either YES or NO";
                }
                else
                {
                    mail.Subject = SymbolName + " request to buy " + Quantity.ToString() + " shares";
                    mail.Body    = "AlgoTrader software is sending this email because the stock " + SymbolName + " has risen above the required parameters. <br/>" +
                                   "We recommend buying " + Quantity.ToString() + " shares<br/><br/>" +
                                   "Do you wish to sell? <br/>" +
                                   "Please respond with either YES or NO";
                }

                mail.IsBodyHtml  = true;
                client.EnableSsl = true;
                client.Send(mail);
            }
        }