Пример #1
0
 private void GetInfoCarteira()
 {
     FrmNovaCarteira nova = new FrmNovaCarteira();
     if (nova.ShowDialog() == DialogResult.OK)
     {
         Carteira = nova.Carteira;
     }
     else
         Carteira = null;
 }
        protected Carteira persisteCarteira(string txt, Investidor usu)
        {
            Carteira cart = new Carteira();
            cart.StrNome = txt;
            cart.Usuario = usu;

            cart.ICodigo = CarteiraAPL.inserirCarteira(cart);

            return cart;
        }
Пример #3
0
        internal static void inserirAcaoCarteira(Carteira cart, Acao stock)
        {
            MySqlConnection msc = new MySqlConnection("Server=cusko.db.8505846.hostedresource.com;Database=cusko;Uid=cusko;Pwd=Teste1234;");
            string sql = "insert into cusko.Carteira_has_Acao (Carteira_idCarteira, Acao_idAcao) values (" + cart.ICodigo + "," + stock.ICodigo + ")";
            MySqlCommand msCommand = new MySqlCommand(sql, msc);

            try
            {
                msc.Open();
                msCommand.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                msc.Close();
                MySqlConnection.ClearAllPools();
            }
        }
Пример #4
0
        internal static void excluirCarteira(Carteira cart)
        {
            string sql = "delete from Carteira where idCarteira =" + cart.ICodigo;
            MySqlConnection msc = new MySqlConnection("Server=cusko.db.8505846.hostedresource.com;Database=cusko;Uid=cusko;Pwd=Teste1234;");
            MySqlCommand msCommand = new MySqlCommand(sql, msc);
            List<Carteira> LstCarteira = new List<Carteira>();

            try
            {
                msc.Open();

                msCommand.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                msc.Close();
                MySqlConnection.ClearAllPools();
            }
        }
Пример #5
0
        internal static List<Acao> listarAcoesCarteira(Carteira cart)
        {
            string sql = "select * from Carteira_has_Acao where Carteira_idCarteira  = " + cart.ICodigo;
            MySqlConnection msc = new MySqlConnection("Server=cusko.db.8505846.hostedresource.com;Database=cusko;Uid=cusko;Pwd=Teste1234;");
            MySqlCommand msCommand = new MySqlCommand(sql, msc);
            List<Acao> LstAcao = new List<Acao>();

            try
            {
                msc.Open();
                MySqlDataReader mdr = msCommand.ExecuteReader();

                if (mdr.HasRows)
                {
                    Acao stock = new Acao();
                    while (mdr.Read())
                    {
                        stock = new Acao();
                        stock.ICodigo = int.Parse(mdr["Acao_idAcao"].ToString());

                        stock = AcaoDAO.obterAcao(stock);

                        LstAcao.Add(stock);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                msc.Close();
            }

            return LstAcao;
        }
Пример #6
0
        internal static int inserirCarteira(Carteira cart)
        {
            string sql = "insert into cusko.Carteira ( Investidor_idInvestidor, nome)  values ( " + cart.Usuario.ICodigo + ", '" + cart.StrNome + "')";
            MySqlConnection msc = new MySqlConnection("Server=cusko.db.8505846.hostedresource.com;Database=cusko;Uid=cusko;Pwd=Teste1234;");
            MySqlCommand msCommand = new MySqlCommand(sql, msc);

            try
            {
                msc.Open();
                msCommand.ExecuteNonQuery();
                sql = "select idCarteira from cusko.Carteira where Investidor_idInvestidor = " + cart.Usuario.ICodigo + " and nome = '" + cart.StrNome + "'";
                msCommand = new MySqlCommand(sql, msc);
                return int.Parse(msCommand.ExecuteScalar().ToString());
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                msc.Close();
                MySqlConnection.ClearAllPools();
            }
        }
Пример #7
0
        public void TestCarteira()
        {
            Config      config      = new Config();
            TradeSystem tradeSystem = new TradeSystem(config);
            MonteCarlo  mc          = new MonteCarlo("Teste");

            float    valorInicial = 100000;
            Carteira carteira     = new Carteira(facade, 100000, config, tradeSystem, mc);

            config.custoOperacao = 20f;

            Assert.IsTrue(carteira.capitalInicial == valorInicial);
            Assert.IsTrue(carteira.capitalLiq == valorInicial);

            Ativo   ativoInex = new Ativo(facade, "ERR", 100);
            Ativo   ativo     = new Ativo(facade, "PETR4", 100);
            Periodo periodo1  = new Periodo("2015-06-05 00:00");
            Periodo periodo2  = new Periodo("2015-06-06 00:00");

            float  closeInicial  = 3;
            float  closeFinal    = 2.7f;
            Candle candleInicial = new Candle(periodo1, ativo, closeInicial * 0.9f, closeInicial, closeInicial * 1.2f, closeInicial * 0.9f, 1000);
            Candle candleFinal   = new Candle(periodo2, ativo, closeFinal * 0.9f, closeFinal, closeFinal * 1.2f, closeFinal * 0.8f, 1000);

            ativo.AddCandle(candleInicial);
            ativo.AddCandle(candleFinal);

            Assert.IsTrue(carteira.capitalLiq == valorInicial);

            carteira.EfetuaEntrada(ativo, periodo1, 1, closeInicial, closeInicial * 0.8f, 1);

            Assert.IsTrue(carteira.capitalLiq < valorInicial, carteira.capitalLiq + ">=" + valorInicial);
            Posicao posicao = carteira.GetPosicaoDoAtivo(ativo);

            Assert.IsNotNull(posicao);
            Assert.IsTrue(posicao.ativo == ativo);
            Assert.IsTrue(posicao.operacoesAbertas.Count == 1);
            Operacao oper = posicao.operacoesAbertas[0];

            Assert.IsTrue(oper.qtd > 0);
            Assert.IsTrue(carteira.capitalLiq + oper.qtd * oper.vlrEntrada + config.custoOperacao == valorInicial);
            carteira.periodoAtual = periodo1;
            carteira.AtualizaPosicao();
            Assert.IsTrue(carteira.capitalLiq + carteira.capitalPosicao == valorInicial - config.custoOperacao, "Posicao: " + carteira.capitalPosicao);

            carteira.periodoAtual = periodo2;
            carteira.AtualizaPosicao();
            Assert.IsTrue(carteira.capitalPosicao == 0, "vlr posicao:" + carteira.capitalPosicao);
            //  cartAssert.IsTrue(oper.qtd>0);eira.

            /*      int qtdAcoesOrdem = 350; int qtdAcoesEsperado = 300;
             *    carteira.EfetuaCompra(candleInicial, qtdAcoesOrdem);
             *    float capitalEsperado = valorInicial - config.custoOperacao - qtdAcoesEsperado * closeInicial;
             *    Assert.IsTrue(carteira.capitalLiq == capitalEsperado, "Capital atual:" + carteira.capitalLiq + " <> " + capitalEsperado);
             *
             *    Posicao posicao = carteira.GetPosicaoDoAtivo(ativo);
             *    Assert.IsNotNull(posicao);
             *    Assert.IsTrue(posicao.saldo == qtdAcoesEsperado);
             *
             *    carteira.EfetuaCompra(candleInicial, qtdAcoesOrdem);
             *    capitalEsperado = valorInicial - 2 * (config.custoOperacao + qtdAcoesEsperado * closeInicial);
             *    Assert.IsTrue(carteira.capitalLiq == capitalEsperado, "Capital atual:" + carteira.capitalLiq + " <> " + capitalEsperado);
             *    Assert.IsTrue(posicao.saldo == qtdAcoesEsperado * 2);
             *
             *    int maxQtd = (int)(capitalEsperado / closeInicial);
             *    maxQtd -= maxQtd % ativo.loteMin;
             *    carteira.EfetuaCompra(candleInicial, maxQtd * 2);
             *    qtdAcoesEsperado = qtdAcoesEsperado * 2 + maxQtd;
             *    Assert.IsTrue(posicao.saldo == qtdAcoesEsperado);
             *    capitalEsperado -= maxQtd * closeInicial + config.custoOperacao;
             *    Assert.IsTrue(carteira.capitalLiq == capitalEsperado, "Capital atual:" + carteira.capitalLiq + " <> " + capitalEsperado);
             *
             *    //Venda
             *    carteira.EfetuaVenda(candleFinal, 150);
             *    capitalEsperado = capitalEsperado + closeFinal * 100 - config.custoOperacao;
             *    Assert.IsTrue(carteira.capitalLiq == capitalEsperado, "Capital atual:" + carteira.capitalLiq + " <> " + capitalEsperado);
             *    qtdAcoesEsperado -= 100;
             *    Assert.IsTrue(posicao.saldo == qtdAcoesEsperado);
             *
             *
             *    carteira.EfetuaVenda(candleFinal, qtdAcoesEsperado * 100);
             *    capitalEsperado = capitalEsperado + qtdAcoesEsperado * closeFinal - config.custoOperacao;
             *    Assert.IsTrue(carteira.capitalLiq == capitalEsperado, "Capital atual:" + carteira.capitalLiq + " <> " + capitalEsperado);
             *    Assert.IsTrue(posicao.saldo == 0);*/
        }
Пример #8
0
 public void UpdateApplication(Carteira carteira, MonteCarlo mc, int countLoops, int totalLoops)
 {
 }
Пример #9
0
        public void TestBacktesterVars()
        {
            Config config = new Config();

            config.capitalInicial = 100000;
            TradeSystem tradeSystem = new TradeSystem(config);

            facade.LoadAtivo("PETR4", 100, Consts.PERIODO_ACAO.DIARIO, "dados/petr4-diario.js", backend.Consts.TIPO_CARGA_ATIVOS.GERA_CANDIDATOS);
            Ativo ativo = facade.GetAtivo("PETR4");

            Assert.IsNotNull(ativo);
            Assert.IsTrue(ativo.candles.Count > 0);

            Candle  candle  = ativo.firstCandle;
            Periodo periodo = candle.periodo;

            BackTester bt = new BackTester(facade, periodo, config, tradeSystem);

            Carteira carteira = bt.carteira;

            Assert.IsNotNull(carteira);
            Assert.IsTrue(carteira.posicoesFechadas.Count == 0);
            Assert.IsTrue(carteira.posicoesAbertas.Count == 0);
            float riscoTotal = carteira.GetRiscoCarteiraPercent(periodo);

            Assert.IsTrue(riscoTotal == 0);
            // carteira.EfetuaEntrada(ativo, periodo, 1, 10, 9, 1);

            //entro com um valor fixo (direto na carteira)
            Posicao posicao = new Posicao(carteira, ativo, 0);

            carteira.posicoesAbertas.Add(ativo, posicao);

            int qtd = 1000;

            posicao.saldo += qtd;
            Operacao oper1 = new Operacao(carteira, candle, 10, 9, qtd, 1, null);

            posicao.operacoesAbertas.Add(oper1);
            float capitalSobRisco = ((10 - 9) * qtd);
            float riscoEsperado   = capitalSobRisco / carteira.GetCapital() * 100;

            carteira.capitalLiq -= oper1.vlrEntrada * oper1.qtd;

            candle.SetValor(FormulaManager.CLOSE, 10);
            carteira.periodoAtual = periodo;
            carteira.AtualizaPosicao();
            Assert.IsTrue(carteira.GetCapital() == 100000, carteira.GetCapital() + "<>" + 100000);
            Assert.IsTrue(carteira.capitalPosicao == 10000, carteira.GetCapital() + "<>" + 10000);
            riscoTotal = carteira.GetRiscoCarteiraPercent(periodo);
            Assert.IsTrue(riscoTotal == riscoEsperado, riscoTotal + "<>" + riscoEsperado);

            //2a operacao
            Operacao oper2 = new Operacao(carteira, candle, 10, 9, qtd, 1, null);

            posicao.operacoesAbertas.Add(oper2);
            posicao.saldo += qtd;
            carteira.AtualizaPosicao();
            carteira.capitalLiq -= oper1.vlrEntrada * oper1.qtd;
            capitalSobRisco     *= 2;
            riscoEsperado        = capitalSobRisco / carteira.GetCapital() * 100;

            Assert.IsTrue(carteira.GetCapital() == 100000, carteira.GetCapital() + "<>" + 100000);
            Assert.IsTrue(carteira.capitalPosicao == 20000, carteira.GetCapital() + "<>" + 20000);
            riscoTotal = carteira.GetRiscoCarteiraPercent(periodo);
            Assert.IsTrue(riscoTotal == riscoEsperado, riscoTotal + "<>" + riscoEsperado);

            tradeSystem.vm.GetVariavel(Consts.VAR_RISCO_TRADE).vlrAtual  = 2;
            tradeSystem.vm.GetVariavel(Consts.VAR_RISCO_GLOBAL).vlrAtual = 5;

            float qtdTrade = carteira.CalculaQtdTrade(100000, 10, 12, periodo);

            Assert.IsTrue(qtdTrade == 980, qtdTrade + "<>" + 980);
        }
        public Task <IEnumerable <PontoCarteira> > ConsultarPontoCarteira(Carteira carteira)
        {
            IDetranVerificadorPontosRepository repository = _Factory.Create(carteira.UF);

            return(repository.ConsultarPontoCarteira(carteira));
        }
Пример #11
0
 public static void inserirAcaoCarteira(Carteira cart, Acao stock)
 {
     AcaoDAO.inserirAcaoCarteira(cart, stock);
 }
Пример #12
0
        internal void SelectMonteCarlo(int p)
        {
            DataGridViewRowCollection RowsG = frmPrincipal.GetRows("dataGridRuns");
            MonteCarlo mc = RowsG[p].Cells[0].Value as MonteCarlo;

            if (mc == null)
            {
                return;
            }
            Carteira    carteira = RowsG[p].Cells[1].Value as Carteira;
            Estatistica global   = mc.getGlobal();

            CandidatoData candData = new CandidatoData(carteira.tradeSystem, mc.getGlobal(), carteira.GetCapital());

            Describe(candData);

            // global.getGeral().getAmbasPontas().todosTrades.o
            frmPrincipal.ClearRows("dataGridOperacoes");
            IList <Posicao> posicoes      = carteira.posicoesFechadas;
            float           capital       = config.capitalInicial;
            int             contaOperacao = 0;



            DataGridViewRowCollection Rows = frmPrincipal.GetRows("dataGridOperacoes");

            for (int i = 0; i < mc.operacoes.Count; i++)
            {
                Operacao oper    = mc.operacoes[i];
                Posicao  posicao = oper.posicao;
                contaOperacao++;
                int rowLine = Rows.Count - 1;
                Rows.Add();
                int colIndex = 0;
                Rows[rowLine].Cells[colIndex++].Value = oper;
                Rows[rowLine].Cells[colIndex++].Value = contaOperacao;
                Rows[rowLine].Cells[colIndex++].Value = posicao.idPosicao;
                string ativoName = posicao.ativo.name;
                if (ativoName.Contains("%5E"))
                {
                    ativoName = ativoName.Substring(ativoName.IndexOf("%5E") + 3);
                }
                Rows[rowLine].Cells[colIndex++].Value    = ativoName;
                Rows[rowLine].Cells[colIndex++].Value    = oper.candleInicial.periodo;
                Rows[rowLine].Cells[colIndex++].Value    = oper.candleFinal.periodo;
                Rows[rowLine].Cells[colIndex++].Value    = posicao.direcao > 0 ? "Compra" : "Venda";
                Rows[rowLine].Cells[colIndex++].Value    = oper.qtd;
                Rows[rowLine].Cells[colIndex++].Value    = Utils.FormatCurrency(oper.vlrEntrada);
                Rows[rowLine].Cells[colIndex++].Value    = Utils.FormatCurrency(oper.vlrSaida);
                Rows[rowLine].Cells[colIndex++].Value    = Utils.FormatCurrency(oper.vlrStopInicial);
                Rows[rowLine].Cells[colIndex++].Value    = oper.stopado ? "Sim" : "Não";
                Rows[rowLine].Cells[colIndex++].Value    = oper.qtd * oper.vlrEntrada;
                Rows[rowLine].Cells[colIndex++].Value    = oper.GetDif();
                Rows[rowLine].DefaultCellStyle.ForeColor = Color.Black;
                if (oper.GetDif() > 0)
                {
                    Rows[rowLine].DefaultCellStyle.BackColor = Color.Blue;
                    Rows[rowLine].DefaultCellStyle.ForeColor = Color.White;
                }
                if (oper.GetDif() < 0)
                {
                    Rows[rowLine].DefaultCellStyle.BackColor = Color.Red;
                    Rows[rowLine].DefaultCellStyle.ForeColor = Color.White;
                }
                capital += oper.GetDif() - 2 * config.custoOperacao;
                Rows[rowLine].Cells[colIndex++].Value = capital;
                Rows[rowLine].Cells[colIndex++].Value = oper.capitalOnClose;

                //  oper.
            }
        }
Пример #13
0
 public Psicologo()
 {
     Carteira = new Carteira();
 }
Пример #14
0
 public Task <IEnumerable <PontosCarteira> > ConsultarPontos(Carteira carteira)
 {
     return(Task.FromResult(_Cache.GetOrCreate($"{carteira.numero}", () => _Inner.ConsultarPontos(carteira).Result)));
 }
Пример #15
0
 protected abstract Task <string> RealizarAcesso(Carteira carteira);
Пример #16
0
        private static void AdicionarDadosTeste(ApiContext context)
        {
            #region Usuário 1
            {
                var usuario  = new Usuario(nome: "Dan Ravelli Paz Occa");
                var carteira = new Carteira(usuario.Id, 1010214.21m);

                usuario.Carteira   = carteira;
                usuario.IdCarteira = carteira.Id;
                context.Usuarios.Add(usuario);

                carteira.Usuario   = usuario;
                carteira.IdUsuario = usuario.Id;
                context.Carteiras.Add(carteira);
            }
            #endregion

            #region Usuário 2

            {
                var usuario  = new Usuario(nome: "Will Wayne J. Toddy");
                var carteira = new Carteira(usuario.Id, 3123213m);

                usuario.Carteira   = carteira;
                usuario.IdCarteira = carteira.Id;
                context.Usuarios.Add(usuario);

                carteira.Usuario   = usuario;
                carteira.IdUsuario = usuario.Id;
                context.Carteiras.Add(carteira);
            }

            #endregion

            #region Usuário 3

            {
                var usuario  = new Usuario(nome: "Rikka Trinha Phel Fis");
                var carteira = new Carteira(usuario.Id, 2957135.66m);

                usuario.Carteira   = carteira;
                usuario.IdCarteira = carteira.Id;
                context.Usuarios.Add(usuario);

                carteira.Usuario   = usuario;
                carteira.IdUsuario = usuario.Id;
                context.Carteiras.Add(carteira);
            }

            #endregion

            #region Usuário 4

            {
                var usuario  = new Usuario(nome: "Frey Mercury Golden");
                var carteira = new Carteira(usuario.Id, 9999999.89m);

                usuario.Carteira   = carteira;
                usuario.IdCarteira = carteira.Id;
                context.Usuarios.Add(usuario);

                carteira.Usuario   = usuario;
                carteira.IdUsuario = usuario.Id;
                context.Carteiras.Add(carteira);
            }

            #endregion

            #region Usuário 5

            {
                var usuario  = new Usuario(nome: "Fallen Bruno");
                var carteira = new Carteira(usuario.Id, 123321.12m);

                usuario.Carteira   = carteira;
                usuario.IdCarteira = carteira.Id;
                context.Usuarios.Add(usuario);

                carteira.Usuario   = usuario;
                carteira.IdUsuario = usuario.Id;
                context.Carteiras.Add(carteira);
            }

            #endregion

            #region Usuário 6

            {
                var usuario  = new Usuario(nome: "Bill Bars Kgates");
                var carteira = new Carteira(usuario.Id, 122332123.12m);

                usuario.Carteira   = carteira;
                usuario.IdCarteira = carteira.Id;
                context.Usuarios.Add(usuario);

                carteira.Usuario   = usuario;
                carteira.IdUsuario = usuario.Id;
                context.Carteiras.Add(carteira);
            }

            #endregion

            #region Usuário 7

            {
                var usuario  = new Usuario(nome: "Carlitos de Jesus");
                var carteira = new Carteira(usuario.Id, 133547889.12m);

                usuario.Carteira   = carteira;
                usuario.IdCarteira = carteira.Id;
                context.Usuarios.Add(usuario);

                carteira.Usuario   = usuario;
                carteira.IdUsuario = usuario.Id;
                context.Carteiras.Add(carteira);
            }

            #endregion

            #region Usuário 8

            {
                var usuario  = new Usuario(nome: "Nenvini Jasumiu");
                var carteira = new Carteira(usuario.Id, 9999999999.99m);

                usuario.Carteira   = carteira;
                usuario.IdCarteira = carteira.Id;
                context.Usuarios.Add(usuario);

                carteira.Usuario   = usuario;
                carteira.IdUsuario = usuario.Id;
                context.Carteiras.Add(carteira);
            }

            #endregion

            #region Usuário 9

            {
                var usuario  = new Usuario(nome: "Marcola Noharir");
                var carteira = new Carteira(usuario.Id, 874123654m);

                usuario.Carteira   = carteira;
                usuario.IdCarteira = carteira.Id;
                context.Usuarios.Add(usuario);

                carteira.Usuario   = usuario;
                carteira.IdUsuario = usuario.Id;
                context.Carteiras.Add(carteira);
            }

            #endregion

            context.SaveChanges();
        }
        public DespesasFixas criarDespesasFixas(DespesasFixasDTO despesasFixasDto)
        {
            Carteira carteira = _carteiraRepository.GetCarteiraAtivaByUsuario(despesasFixasDto.UsuarioId);

            if (carteira == null)
            {
                throw new NullReferenceException("Não foi encontrado nenhuma carteira ativa!");
            }

            var conn = (NpgsqlConnection)_context.Database.GetDbConnection();

            conn.Open();
            using (var cmd = new NpgsqlCommand("CALL inserirdespesasfixas(@usuario_id, @carteira_id, @descri, @valor_prev, @data_venc, @tipo_id, @total_parc, @id_despesa)", conn))
            {
                cmd.Parameters.Add(new NpgsqlParameter("usuario_id", NpgsqlDbType.Bigint)
                {
                    Direction = ParameterDirection.InputOutput,
                    Value     = despesasFixasDto.UsuarioId
                });
                cmd.Parameters.Add(new NpgsqlParameter("carteira_id", NpgsqlDbType.Bigint)
                {
                    Direction = ParameterDirection.InputOutput,
                    Value     = carteira.Id
                });
                cmd.Parameters.Add(new NpgsqlParameter("descri", NpgsqlDbType.Varchar)
                {
                    Direction = ParameterDirection.InputOutput,
                    Value     = despesasFixasDto.Descricao
                });
                cmd.Parameters.Add(new NpgsqlParameter("valor_prev", NpgsqlDbType.Numeric)
                {
                    Direction = ParameterDirection.InputOutput,
                    Value     = despesasFixasDto.ValorPrevisto
                });
                cmd.Parameters.Add(new NpgsqlParameter("data_venc", NpgsqlDbType.Timestamp)
                {
                    Direction = ParameterDirection.InputOutput,
                    Value     = despesasFixasDto.DataVencimento
                });
                cmd.Parameters.Add(new NpgsqlParameter("tipo_id", NpgsqlDbType.Integer)
                {
                    Direction = ParameterDirection.InputOutput,
                    Value     = despesasFixasDto.TipoId
                });
                cmd.Parameters.Add(new NpgsqlParameter("total_parc", NpgsqlDbType.Integer)
                {
                    Direction  = ParameterDirection.InputOutput,
                    Value      = (despesasFixasDto.TotalParcelas != null) ? despesasFixasDto.TotalParcelas : (object)DBNull.Value,
                    IsNullable = true
                });
                cmd.Parameters.Add(new NpgsqlParameter("id_despesa", NpgsqlDbType.Bigint)
                {
                    Direction = ParameterDirection.InputOutput,
                    Value     = despesasFixasDto.Id
                });
                cmd.ExecuteNonQuery();
                despesasFixasDto.Id = (long)cmd.Parameters[7].Value;
            }
            conn.Close();

            DespesasFixas despesasFixas = _context.DespesasFixas.Find(despesasFixasDto.Id);

            return(despesasFixas);
        }
Пример #18
0
        internal string GetLayoutHtml()
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("<table cellspacing=\"0\" cellpadding=\"0\" width=\"700\" border=\"0\"><tr><td>");

            sb.Append(Boleto.Resources.ComprovanteEntrega);
            sb.Append(Boleto.Resources.LinhaCorte);

            sb.Append(Boleto.Resources.ReciboSacado);
            sb.Append(Boleto.Resources.Corpo);
            sb.Append(Boleto.Resources.ReciboSacadoFim);
            sb.Append(Boleto.Resources.LinhaCorte);

            sb.Append(Boleto.Resources.ParteBanco);
            sb.Append(Boleto.Resources.Corpo);
            sb.Append(Boleto.Resources.ParteBancoFim);
            sb.Append(Boleto.Resources.LinhaCorte);

            sb.Append("</td></tr></table>");


            string sImgBarra         = Page.ClientScript.GetWebResourceUrl(this.GetType(), "InfoControl.Web.UI.WebControls.Boleto.Resources.barra.gif");
            string sImgCorte         = Page.ClientScript.GetWebResourceUrl(this.GetType(), "InfoControl.Web.UI.WebControls.Boleto.Resources.corte.gif");
            string sImgBancoLogoTipo = Page.ClientScript.GetWebResourceUrl(this.GetType(), "InfoControl.Web.UI.WebControls.Boleto.Resources." + BancoLogoTipo);

            //
            // Gera o numero que identifica o boleto no banco
            //
            string lNossoNumero, lLinhaDigitavel, lCodigoBarras;

            generator.MontaCodigos(this, out lNossoNumero, out lLinhaDigitavel, out lCodigoBarras);


            //
            // Sacado
            //
            sb = sb.Replace("[=SacadoNome=]", SacadoNome);
            sb = sb.Replace("[=SacadoEnderecoLinha2=]", SacadoEnderecoLinha2());
            sb = sb.Replace("[=SacadoEnderecoLinha1=]", SacadoEnderecoLinha1());
            sb = sb.Replace("[=SacadoCPF_CNPJ=]", SacadoCPF_CNPJ);

            //
            // Cedente
            //
            sb = sb.Replace("[=CodigoBarras=]", CodigoBarras25I(lCodigoBarras));
            sb = sb.Replace("[=sImgCorte=]", sImgCorte);
            sb = sb.Replace("[=lNossoNumero=]", lNossoNumero);

            sb = sb.Replace("[=Instrucao=]", Instrucao);

            sb = sb.Replace("[=CedenteNome=]", CedenteNome);
            sb = sb.Replace("[=DataProcessamento=]", DataProcessamento.ToString(DATEFORMAT));
            sb = sb.Replace("[=DataEmissao=]", DataEmissao.ToString(DATEFORMAT));
            sb = sb.Replace("[=DataDocumento=]", DataDocumento.ToString(DATEFORMAT));
            sb = sb.Replace("[=Documento=]", Documento);
            sb = sb.Replace("[=DataVencimento=]", DataVencimento.ToString(DATEFORMAT));

            sb = sb.Replace("[=pEspecieDoc=]", pEspecieDoc);
            sb = sb.Replace("[=Especie=]", Especie);
            sb = sb.Replace("[=Carteira=]", Carteira.ToString());
            sb = sb.Replace("[=Quantidade=]", Quantidade.ToString());

            sb = sb.Replace("[=LocalPagamento=]", LocalPagamento);
            sb = sb.Replace("[=Aceite=]", Aceite.ToString());
            sb = sb.Replace("[=AgenciaCedente=]", AgenciaCedente());
            sb = sb.Replace("[=BancoCodigoCompleto=]", generator.BancoCodigoCompleto());

            sb = sb.Replace("[=lLinhaDigitavel=]", lLinhaDigitavel.Replace(" ", "&nbsp;&nbsp;"));

            //
            // Valores
            //
            sb = sb.Replace("[=ValorCobrado=]", ValorCobrado.ToString(FORMATO_VALOR));
            sb = sb.Replace("[=Valor=]", Valor.ToString(FORMATO_VALOR));
            sb = sb.Replace("[=Multa=]", Multa.ToString(FORMATO_VALOR));
            sb = sb.Replace("[=Desconto=]", Desconto.ToString(FORMATO_VALOR));
            sb = sb.Replace("[=OutrasAcrescimos=]", OutrasAcrescimos.ToString(FORMATO_VALOR));
            sb = sb.Replace("[=OutrasDeducoes=]", OutrasDeducoes.ToString(FORMATO_VALOR));

            //
            // Images
            //
            sb = sb.Replace("[=sImgBarra=]", sImgBarra);
            sb = sb.Replace("[=sImgBancoLogoTipo=]", sImgBancoLogoTipo);


            return(sb.ToString());
        }
Пример #19
0
        public void TestBacktester()
        {
            MockCaller  mockCaller  = new MockCaller();
            Config      config      = new Config();
            TradeSystem tradeSystem = new TradeSystem(config);
            MonteCarlo  mc          = new MonteCarlo("Teste");

            config.custoOperacao  = 0f;
            config.flagCompra     = true;
            config.flagVenda      = false;
            config.capitalInicial = 100000;


            facade.LoadAtivo("PETR4", 100, Consts.PERIODO_ACAO.SEMANAL, "dados/petr4-diario.js");
            Ativo ativo = facade.GetAtivo("PETR4");

            Assert.IsNotNull(ativo);
            Assert.IsTrue(ativo.candles.Count > 0);
            Candle candle = ativo.firstCandle;

            for (int i = 0; i < 30; i++)
            {
                candle = candle.proximoCandle;
            }
            Periodo periodo = candle.periodo;


            Assert.IsTrue(Stop.CalcValorStop(10, 1, 10) == 9);
            Assert.IsTrue(Stop.CalcValorStop(10, -1, 10) == 11);

            BackTester backtester = new BackTester(facade, periodo, config, tradeSystem);
            Carteira   carteira   = backtester.carteira;

            Assert.IsTrue(carteira.PossuiAtivo(ativo) == 0);

            tradeSystem.condicaoEntradaC = "GREATER(MME(C,9),MME(C,6))";
            tradeSystem.condicaoSaidaC   = "LOWER(MME(C,9),MME(C,6))";
            float mmec9 = candle.GetValor("MME(C,9)");
            float mmec6 = candle.GetValor("MME(C,6)");

            Assert.IsTrue(mmec9 > 0);
            Assert.IsTrue(mmec6 > 0);
            Assert.IsTrue(candle.GetValor(tradeSystem.condicaoEntradaC) == 1);

            tradeSystem.vm.SetVariavel(Consts.VAR_STOP_GAP, 2);
            tradeSystem.vm.SetVariavel(Consts.VAR_USA_STOP_MOVEL, 1);

            tradeSystem.stopInicialC = "LV(L,5)";
            tradeSystem.stopMovelC   = tradeSystem.stopInicialC;
            float stop = candle.GetValor(tradeSystem.stopInicialC);

            stop = stop * (1f - tradeSystem.stopGapPerc / 100f);

            //realiza 1a entrada
            backtester.BackTestCandle(periodo, ativo, candle);
            int qtdAcoes = carteira.PossuiAtivo(ativo);

            Assert.IsTrue(qtdAcoes == 500, qtdAcoes + " <> 500");

            Posicao posicao = carteira.GetPosicaoDoAtivo(ativo);

            Assert.IsNotNull(posicao);
            Assert.IsTrue(posicao.saldo == 500, posicao.saldo + "<>" + 500);
            Operacao oper = posicao.operacoesAbertas[0];

            Assert.IsTrue(oper.stop.CalcStop(candle) == stop);
            Assert.IsTrue(carteira.capitalLiq == 100000 - 500 * candle.proximoCandle.GetValor(FormulaManager.OPEN));
            float capitalAtual = carteira.capitalLiq;

            //simulando um stop
            candle = candle.proximoCandle;
            carteira.periodoAtual = candle.periodo;
            float vlrStopado = stop / 2;

            candle.SetValor(FormulaManager.OPEN, vlrStopado);
            candle.SetValor(FormulaManager.LOW, vlrStopado);
            posicao.VerificaStops(candle);

            qtdAcoes = carteira.PossuiAtivo(ativo);
            Assert.IsTrue(qtdAcoes == 0, qtdAcoes + " <> 0");
            Assert.IsTrue(carteira.capitalLiq == capitalAtual + 500 * vlrStopado);
            capitalAtual = carteira.capitalLiq;

            //mais uma entrada
            candle = candle.proximoCandle;
            carteira.periodoAtual = candle.periodo;
            backtester.BackTestCandle(periodo, ativo, candle);
            qtdAcoes = carteira.PossuiAtivo(ativo);
            Assert.IsTrue(qtdAcoes == 500, qtdAcoes + " <> 500");
            Assert.IsTrue(carteira.capitalLiq == capitalAtual - 500 * candle.proximoCandle.GetValor(FormulaManager.OPEN));
            capitalAtual = carteira.capitalLiq;

            candle = candle.proximoCandle;
            carteira.periodoAtual = candle.periodo;
            posicao.VerificaStops(candle);
            qtdAcoes = carteira.PossuiAtivo(ativo);
            //não foi stopado...
            Assert.IsTrue(qtdAcoes == 500, qtdAcoes + " <> 500");

            /*  candle.SetValor(tradeSystem.stopInicialC, vlrStopado);
             * candle.SetValor(FormulaManager.OPEN, vlrStopado);
             * candle.SetValor(FormulaManager.LOW, vlrStopado-1);
             * posicao.VerificaStops(candle);
             * qtdAcoes = carteira.PossuiAtivo(ativo);
             * //foi stopado...
             * Assert.IsTrue(qtdAcoes == 0, qtdAcoes + " <> 0");*/

            //MME(C,9)<MME(C,6)
            Assert.IsTrue(tradeSystem.checaCondicaoSaida(candle, 1) == 1);
        }
Пример #20
0
        public async Task <IEnumerable <PontoCarteira> > ConsultarPontos(Carteira carteira)
        {
            var html = await RealizarAcesso(carteira);

            return(await PadronizarResultado(html));
        }
Пример #21
0
 public InvestimentoService(Carteira _carteira, IHttpServiceAgent _serviceAgent)
 {
     carteira     = _carteira;
     serviceAgent = _serviceAgent;
 }
Пример #22
0
        private void _btnAbrir_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;

            Program.Dal.FechaConexao();

            String carteira = SelecionaCarteira();
            if (!carteira.Equals(String.Empty))
            {
                Program.Dal.AbreBase(carteira);

                Carteira = Carteira.Get();

                this.Close();

                Cursor.Current = Cursors.Default;
            }
        }
Пример #23
0
        public void IniciarInicio()
        {
            SelecionarTipoRela.Items[0] = "Despesas";
            SelecionarTipoRela.Items[1] = "Ganhos";
            userLogado     = Usuario.RetornarDados(id);
            carteiraLogada = Carteira.InstanciarCarteira(userLogado.id);

            bem_vindo.Content = $"Bem Vindo(a), {userLogado.nome}";
            string dataAtual = $"{c.ToString("yyyy")}-{c.ToString("MM")}";

            ValorCarteira.Content = carteiraLogada.ConsultarSaldo().ToString();

            int d = int.Parse(c.ToString("MM"));

            MesCanvaDespesa.Content = $"{meses[d - 1]} / {c.ToString("yyyy")}";
            MesCanvaGanhos.Content  = $"{meses[d - 1]} / {c.ToString("yyyy")}";
            DespesaMes.Content      = Despesa.ValorTotalMes(c.ToString("yyyy"), c.ToString("MM"), carteiraLogada.id);
            GanhoMes.Content        = Receita.ValorTotalMes(c.ToString("yyyy"), c.ToString("MM"), carteiraLogada.id);

            ComboMesMeta.Items[0] = c.ToString("MM");
            string mes          = "";
            string mesAnterior  = "";
            string mesAnterior2 = "";
            string mesAtual     = "";

            if (c.Month <= 12 && c.Month > 0)
            {
                if (c.Month < 9)
                {
                    mesAtual = $"0{c.Month}";
                    mes      = $"0{c.Month + 1}";
                }
                else if (c.Month == 12)
                {
                    mes      = "01";
                    mesAtual = "12";
                }
                else
                {
                    mesAtual = $"{c.Month}";
                }

                if (c.Month > 2 && c.Month < 9)
                {
                    mesAnterior  = $"0{c.Month - 1}";
                    mesAnterior2 = $"0{c.Month - 2}";
                }
                else if (c.Month > 1 && c.Month < 9)
                {
                    mesAnterior  = $"0{c.Month - 1}";
                    mesAnterior2 = "12";
                }
                else if (c.Month == 1)
                {
                    mesAnterior  = "12";
                    mesAnterior2 = "11";
                }
                else if (c.Month == 10)
                {
                    mesAnterior  = $"0{c.Month - 1}";
                    mesAnterior2 = "08";
                }
                else if (c.Month == 11)
                {
                    mesAnterior  = $"0{c.Month - 1}";
                    mesAnterior2 = "09";
                }
                else
                {
                    mesAnterior  = $"{c.Month - 1}";
                    mesAnterior2 = $"{c.Month - 2}";
                }
            }

            metaAtual   = Meta.RetornarMeta(dataAtual, carteiraLogada.id);
            metaProximo = Meta.RetornarMeta($"{c.ToString("yyyy")}-{mes}", carteiraLogada.id);

            ComboMesMeta.Items[1] = mes;
            MesRela.Items[0]      = $"{mesAnterior2}";
            MesRela.Items[1]      = $"{mesAnterior}";
            MesRela.Items[2]      = $"{mesAtual}";

            //Atual
            DescricaoMeta1.Content = metaAtual.Descricao;
            lblAtual.Content       = $"{ metaAtual.ValorCumprido} R$/ { metaAtual.ValorDaMeta} R$";
            ProgressoAtual.Maximum = metaAtual.ValorDaMeta;
            ProgressoBarra(ProgressoAtual, metaAtual, PorcentagemAtual);
            MesMeta.Content = $"Meta de: {metaAtual.Data}";
            //Proxima
            DescricaoMeta2.Content   = metaProximo.Descricao;
            MetaMesProximo.Content   = $"{ metaProximo.ValorCumprido} R$/ { metaProximo.ValorDaMeta} R$";
            ProgressoProximo.Maximum = metaProximo.ValorDaMeta;
            ProgressoBarra(ProgressoProximo, metaProximo, PorcentagemProximo);
            lblProximo.Content = $"Meta de: {metaProximo.Data}";
        }
 protected override Task <string> RealizarAcesso(Carteira carteira)
 {
     Task.Delay(5000).Wait(); //Deixando o serviço mais lento para evidenciar o uso do CACHE.
     _Logger.LogDebug($"Consultando a pontuacao da CNH {carteira.numeroCNH} para o estado de RJ.");
     return(Task.FromResult("CONTEUDO DO SITE DO DETRAN/RJ"));
 }
Пример #25
0
        private void forDebugPurposes()
        {
            Investidor usu = new Investidor();

            usu.StrEmail = "*****@*****.**";
            usu.StrKeyPass = "******";
            usu.StrLogin = "******";

            for (int i = 0; i < 5; i++)
            {
                Carteira asd = new Carteira();
                asd.StrNome = "Carteira_" + i;

                usu.LstCarteiras.Add(asd);
            }
            Session.Add("usuario", usu);
        }
Пример #26
0
        internal static List<Carteira> listarCarteirasUsuario(Investidor investidor)
        {
            string sql = "select * from Carteira where Investidor_idInvestidor = " + investidor.ICodigo;
            MySqlConnection msc = new MySqlConnection("Server=cusko.db.8505846.hostedresource.com;Database=cusko;Uid=cusko;Pwd=Teste1234;");
            MySqlCommand msCommand = new MySqlCommand(sql, msc);
            List<Carteira> LstCarteira = new List<Carteira>();

            try
            {
                msc.Open();

                MySqlDataReader mdr = msCommand.ExecuteReader();

                if (mdr.HasRows)
                {
                    Carteira cart = new Carteira();
                    while (mdr.Read())
                    {
                        cart = new Carteira();

                        cart.ICodigo = int.Parse(mdr["idCarteira"].ToString());
                        cart.StrNome = mdr["nome"].ToString();
                        cart.Usuario = investidor;
                        cart.LstAcoes = AcaoDAO.listarAcoesCarteira(cart);

                        LstCarteira.Add(cart);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                msc.Close();
            }

            return LstCarteira;
        }
Пример #27
0
        public void UpdateApplication(Carteira carteira, MonteCarlo mC, int countLoops, int totalLoops)
        {
            Application.DoEvents();
            if (totalLoops <= 0)
            {
                totalLoops = 1;
            }
            if (countLoops <= 1)
            {
                _totalDif   = 0;
                _validCount = 0;
            }


            float dif = carteira.GetCapital() - carteira.capitalInicial;

            if (dif != 0)
            {
                _totalDif += dif;
                _validCount++;
            }
            if (_validCount > 0)
            {
                frmPrincipal.SetText("labelAvgDif", "Avg.Dif.:" + Utils.FormatCurrency(_totalDif / _validCount) + " (" + _validCount + ")");
            }



            frmPrincipal.SetText("labelStatus", countLoops + " / " + totalLoops);
            //frmPrincipal.dataSetBacktest.Tables[0].Rows.Add(mC);
            //DataGridViewRow row = new DataGridViewRow();
            //row.Cells.Add(new DataGridViewCell());
            //frmPrincipal.dataGridRuns.Rows.Add(row);
            DataGridViewRowCollection Rows = frmPrincipal.GetRows("dataGridRuns");

            if (Rows == null)
            {
                return;
            }
            int rowLine = Rows.Count - 1;

            Rows.Add();
            int colIndex = 0;

            contaTestes++;
            SubSubDado todosTrades    = mC.getGlobal().geral.getAmbasPontas().todosTrades;
            SubSubDado tradesGanhos   = mC.getGlobal().geral.getAmbasPontas().tradesGanhos;
            SubSubDado tradesPerdidos = mC.getGlobal().geral.getAmbasPontas().tradesPerdidos;

            Rows[rowLine].Cells[colIndex++].Value = mC;
            Rows[rowLine].Cells[colIndex++].Value = carteira;
            Rows[rowLine].Cells[colIndex++].Value = contaTestes;
            Rows[rowLine].Cells[colIndex++].Value = mC.ToString();

            object objIters   = mC.properties.GetPropriedade(UsoComum.ConstsComuns.OBJ_ITERATIONS);
            int    iterations = (objIters == null ? 1 : (int)objIters);


            Rows[rowLine].Cells[colIndex++].Value = iterations;
            Rows[rowLine].Cells[colIndex++].Value = mC.properties.GetPropriedade(UsoComum.ConstsComuns.OBJ_TOTAL_PROFIT) == null ? 0 : (float)mC.properties.GetPropriedade(UsoComum.ConstsComuns.OBJ_TOTAL_PROFIT) / iterations;
            Rows[rowLine].Cells[colIndex++].Value = mC.properties.GetPropriedade(UsoComum.ConstsComuns.OBJ_TOTAL_LOSS) == null ? 0 : (float)mC.properties.GetPropriedade(UsoComum.ConstsComuns.OBJ_TOTAL_LOSS) / iterations;


            Rows[rowLine].Cells[colIndex++].Value = mC.CalcFitness();
            Rows[rowLine].Cells[colIndex++].Value = mC.getCapitalFinal();
            Rows[rowLine].Cells[colIndex++].Value = mC.getMaxCapital();
            Rows[rowLine].Cells[colIndex++].Value = mC.getMinCapital();
            Rows[rowLine].Cells[colIndex++].Value = mC.winLossRatio;
            Rows[rowLine].Cells[colIndex++].Value = mC.qtdTrades;
            Rows[rowLine].Cells[colIndex++].Value = tradesGanhos.nTrades;
            Rows[rowLine].Cells[colIndex++].Value = tradesPerdidos.nTrades;
            Rows[rowLine].Cells[colIndex++].Value = mC.totalGanho;
            Rows[rowLine].Cells[colIndex++].Value = mC.totalPerdido;
            Rows[rowLine].Cells[colIndex++].Value = mC.percAcerto;
            Rows[rowLine].Cells[colIndex++].Value = mC.capitalUsePercent;
            Rows[rowLine].Cells[colIndex++].Value = todosTrades.maxDias;
            Rows[rowLine].Cells[colIndex++].Value = todosTrades.minDias;
            Rows[rowLine].Cells[colIndex++].Value = todosTrades.avgDias;

            if (Rows.Count > config.maxTestes)
            {
                RemovePiorTeste();
            }
        }