コード例 #1
0
 private void btnAtualizar_Click(object sender, EventArgs e)
 {
     listaEmpresa = Bovespa.RetornaListaDeEmpresas();
     chkListEmpresas.Items.Clear();
     SalvarEmpresasAtualizadas();
     CarregarListaDeEmpresas();
     lblAtualizada.Text = "Última Atualização em " + DateTime.Today.ToShortDateString() + " às " + DateTime.Today.ToShortTimeString();
 }
コード例 #2
0
        public static void Run([TimerTrigger("0 30 10-17 * * 1-5")] TimerInfo myTimer, ILogger log)
        {
            log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");

            double GetBovespa()
            {
                var           site     = ("https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=^BVSP&interval=1min&apikey=" + "YOUR_ALPHAVANTAGE_API_KEY_HERE"); // enter your API key here
                var           client   = new RestClient(site);
                IRestResponse response = client.Execute(new RestRequest(Method.GET));

                return(Convert.ToDouble(JObject.Parse(response.Content)["Time Series (1min)"].First.First.Value <String>("1. open")));
            }

            Auth.SetUserCredentials("CONSUMER_KEY", "CONSUMER_SECRET", "ACCESS_TOKEN", "ACCESS_TOKEN_SECRET");
            MongoClientSettings settings = MongoClientSettings.FromUrl(
                new MongoUrl("YOUR_CONNECTION_STRING_HERE")
                );

            settings.SslSettings = new SslSettings()
            {
                EnabledSslProtocols = SslProtocols.Tls12
            };
            var mongoClient = new MongoClient(settings);

            var mongoCollection = mongoClient.GetDatabase("Bovespa").GetCollection <Bovespa>("BovespaCollection");

            var lastValueOfBovespa = mongoCollection.Find(new BsonDocument()).ToList()[0].Value;
            var newValueOfBovespa  = GetBovespa();

            var bovespa = new Bovespa()
            {
                Id    = new Guid("GUID_OF_BOVESPA_IN_DATABASE"),
                Value = newValueOfBovespa,
            };
            var filter = Builders <BsonDocument> .Filter.Eq("Id", "GUID_OF_BOVESPA_IN_DATABASE");

            var updateDef = Builders <Bovespa> .Update.Set(o => o.Value, bovespa.Value);

            mongoCollection.UpdateOne(x => x.Id == bovespa.Id, updateDef);

            if (newValueOfBovespa == lastValueOfBovespa)
            {
                log.LogInformation("A Bovespa não mudou :| - " + newValueOfBovespa + " às " + DateTime.Now.ToString("hh:mm tt"));
            }
            else if (newValueOfBovespa > lastValueOfBovespa)
            {
                Tweet.PublishTweet("A Bovespa subiu :) - " + newValueOfBovespa + " às " + DateTime.Now.ToString("hh:mm tt"));
                log.LogInformation("A Bovespa subiu :) - " + newValueOfBovespa + " às " + DateTime.Now.ToString("hh:mm tt"));
            }
            else
            {
                Tweet.PublishTweet("A Bovespa caiu :( - " + newValueOfBovespa + " às " + DateTime.Now.ToString("hh:mm tt"));
                log.LogInformation("A Bovespa caiu :( - " + newValueOfBovespa + " às " + DateTime.Now.ToString("hh:mm tt"));
            }
        }
コード例 #3
0
        private List <Acao> VerificaAcoes(List <Empresa> listaEmpresa, List <Acao> listaAcoes)
        {
            foreach (var empresa in listaEmpresa)
            {
                listaAcoes.AddRange(empresa.CodigosNegociacao.Select(c => new Acao
                {
                    CodigoDeNegociacao = c,
                    NomeEmpresa        = empresa.Nome
                }));
            }
            var listaAux        = new List <Acao>();
            var listaCodigosNeg = listaEmpresa.SelectMany(c => c.CodigosNegociacao).ToList();

            return(Bovespa.RetornaValores(listaAcoes));
        }
コード例 #4
0
        private void btnBuscar_Click(object sender, EventArgs e)
        {
            try
            {
                var listaAcoes      = new List <Acao>();
                var listaTemp       = new List <Empresa>();
                var listaCodigos    = new List <string>();
                var empresasABuscar = empresasChecked;
                if (chkDados.Checked)
                {
                    listaCodigos = empresasABuscar.Select(c => c.CodigoCVM).ToList();
                    while (listaCodigos.Count > 0)
                    {
                        var listaErros = Bovespa.ConsultaEmpresas(listaCodigos, empresasABuscar, out listaTemp);
                        listaCodigos = listaErros;

                        foreach (var emp in listaTemp)
                        {
                            try
                            {
                                var i = empresasABuscar.IndexOf(empresasABuscar.First(c => c.CodigoCVM == emp.CodigoCVM));
                                empresasABuscar[i] = emp;
                            }
                            catch
                            {
                                continue;
                            }
                        }
                    }
                }

                //Consulta Relatórios financeiros

                if (chkRelatorios.Checked)
                {
                    foreach (var codigo in listaCodigos)
                    {
                        var listaErros = Bovespa.RetornaRelatorios(codigo, true);
                    }
                }

                ExportToExcel(empresasABuscar);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: tnktecnologia/BovespaBot
        static void Main(string[] args)
        {
            try
            {
                //var listaCVM = ObterListaCVM();
                var listaTeste = new List <string>()
                {
                    "16284"
                };

                Bovespa.ConsultaEmpresas(listaTeste);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                Console.ReadKey();
            }
        }