Resultado do mês de abril (2019)

Mais um mês que encerra e, se analisarmos friamente, não há muita novidade no cenário político-econômico, onde a imprensa tradicional continua “procurando cabelo em ovo” (como de costume). Desta vez, serei breve em relação aos acontecimentos políticos e focarei nos acontecimentos econômicos. Desta vez, precisei lidar com pequenos imprevistos, mas nada que afetasse minha tranquilidade. Sem muitas delongas vamos aos resultados.

No cenário interno, por incrível que pareça, a má conduta do filho do presidente Bolsonaro, nas redes sociais, tem depreciado a imagem de ambos e também expõe claramente a “rivalidade” entre Olavistas e simpatizantes dos militares. Seja como for, não acho saudável endeusar alguém. Como comentei sobre o assunto em minha fanpage, não pretendo prolongar o assunto aqui.

A reforma da previdência é o assunto que mais chama atenção internamente e vem sofrendo bastante “resistência” da oposição – particularmente, ao contrário do que alguns grupos fazem parecer, entendo que o maior obstáculo está justamente nas camadas mais privilegiadas que não querem perder seus benefícios. Infelizmente, existe um trabalho de desinformação muito forte e não acredito que os conflitos sejam em defesa dos mais pobres (que, como sempre, servem de escudo).

Por outro lado, no cenário externo, quem vem chamando a atenção é a Venezuela. Na última semana do mês, o conflito na Venezuela se intensificou, ficando à beira de uma guerra civil. O grupo aliado ao Governo Maduro grita por “democracia” (parece piada), mas se cala quando carros blindados avançam sobre os manifestantes (literalmente). Não é preciso dizer que esta crise amplia o conflito entre países como Estados Unidos e Rússia.

Como de costume, confiram os principais números e acontecimentos que sacudiram o país e o mundo (do redator chefe da Modal):

Neste mês, precisei lidar com um pequeno “imprevisto financeiro” (escrevi entre parênteses porque tive liberdade de escolha). Já estou com o mesmo computador por mais de 9 anos e, depois de perder um HD de 1 Tb, resolvi comprar outro desktop. Sendo assim, precisei me programar para fazer isto e minha capacidade de aporte foi menor.

O prazo para entrega da declaração de IR encerrou no último dia do mês. Precisei de aproximadamente duas semanas para preencher e revisar antes de transmitir – uma carteira diversificada torna o processo mais trabalhoso, porém mais seguro. Já verifiquei minha situação através do app Pessoa Física da Receita Federal – após dois dias, constava em fila de restituição (na opção “Consulta Restituição“).

Nas últimas semanas do mês, muitas empresas divulgaram seu balanço e alguns fatos relevantes pertinentes…

A Grendene (GRND3), por exemplo, divulgou um resultado negativo no 1T19, com queda de 51% no lucro líquido e queda em todas as margens – evidentemente, a cotação foi castigada logo em seguida. Não é motivo para alarde, mas é preciso ficar atento com os próximos balanços. De qualquer forma, reparem que, na avaliação anual, o desempenho da empresa continua excelente.

Fonte: https://www.oceans14.com.br/acoes/grendene/grnd3/balanco-dividendo

O Grupo Fleury (FLRY3) apresentou um resultado positivo, porém abaixo da expectativa do mercado. Ou seja, o lucro líquido cresceu apenas 0,5% (baixo) e apresentou ROIC (Retorno sobre o Capital Investido) de 42,1%. Com o resultado abaixo da expectativa, era esperada uma queda expressiva na cotação. Por ter aberto posição recentemente, pretendo aproveitar o momento para reforçar os próximos aportes (acredito se tratar de um mercado promissor).

Dos ativos que mantenho em carteira, também foram divulgados os balanços de Hypera (HYPE3, lucro líquido +9,5% e ROIC de 19,3%), Banco Itaú (ITUB3, lucro líquido +6,2%), Odontoprev (ODPV3, lucro líquido +19% e ROIC de 22,3%) e Weg (WEGE3, lucro líquido +7,7% e ROIC de 18%). Vale destacar que o lucro líquido recorrente do Banco Itaú foi de R$ 6,9 bilhões no primeiro trimestre.

Para ter acesso ou acompanhar os balanços, recomendo o seguinte link:
https://www.acionista.com.br/agenda/resultados-das-cias.html

A Itaúsa divulgou fato relevante sobre o Direito de Retirada da Companhia após a incorporação de ações da Itautec S.A.. Confesso que, de imediato, não compreendi muito bem do que se tratava. Após buscar maiores informações, percebi que se trata de um evento que permite ao pequeno investidor (detentor de ações ordinárias ITEC3), caso não concorde com a incorporação, o Direito de Retirada no valor de R$ 6,52 por ação. Porém, levando em consideração que as ações de ITSA3 estão cotadas acima de R$ 13, não faz sentido o investidor exercer o direito.

Uma negociação que chamou bastante atenção foi a aquisição da Netshoes pela Magazine Luíza (MGLU3), no valor de U$ 62 milhões. Pois é, a Magazine Luíza não para de impressionar. Lamento não ter em carteira, mas é tarde para lamentações (risos).

O Banco do Brasil também chamou bastante atenção no mês:

– A primeira polêmica surgiu com a informação de que o presidente vetou uma propaganda do Banco destinada ao público jovem, com a suposta demissão do presidente de Marketing. Vale lembrar que o custo da propaganda foi de aproximadamente R$ 17 milhões (não, não é um filme). Obviamente, a CVM cobrou informações quanto a demissão do diretor e o Banco se pronunciou alegando que o diretor de Marketing foi apenas autorizado ausentar-se, por motivos pessoais, até 09/05/19. Resumindo: “não foi demitido“.

– Outra notícia que quase gerou desconforto no mercado financeiro foi o “pedido de redução da taxa de juros” feito pelo presidente Bolsonaro, no evento Agrishow 2019, ao Banco do Brasil. As mídias divulgaram a fala fora de contexto e as ações da estatal apresentaram uma volatilidade temporária (até a confirmação do contexto real).

Confiram o contexto real da fala do presidente (adiantem em 7 minutos):

Passamos por um mês relativamente agitado

Quanto aos investimentos…

Meu poder de aporte foi menor em função da troca de desktop que decidi fazer (é minha ferramenta de trabalho). Infelizmente, o meu “querido” robô de trade ainda não colaborou, excluindo R$ 200 da reserva para aportes.

Recebi proventos de ITSA3, ITUB3, BRCR11 (0,429%), FCFL11 (0,554%), PQDP11 (0,463%), KNRI11 (0,485%), RNGO11 (0,565%), SAAG11 (0,729%), GGRC11 (0,386%), MXRF11 (0,603%), KNCR11 (0,495%), HGRE11 (0,487%), FLMA11 (0,497%), HGBS11 (0,552%) e FIGS11 (1,244%). Este mês não impressionou tanto como os anteriores (algo esperado), mas o resultado da carteira continua excelente. Em relação aos FIIs, o pior rendimento foi do fundo GGRC11 – as razões não ficaram muito claras (como o fato de estar como muito dinheiro em caixa), dado uma queda tão expressiva. No mês passado, o fundo BRCR11 distribuiu um rendimento de 9,95% em função da conclusão da negociação com a Brookfield, portanto é evidente que não se trata de um rendimento recorrente e também vale lembrar que ainda resta R$ 4,00 para distribuir ao longo do ano (não sabemos como será feito). Outra novidade foi a eleição da Hedge como nova gestora e administradora do fundo FIGS11 – aliás, o fim da RMG traz algumas expectativas sobre a cotação atual. De maneira geral, o rendimento da carteira permanece excelente, sendo reforçado com o pagamento de dividendos e JCP de ITUB3 e ITSA3 (pouco expressivo).

Para conhecer um pouco mais a Engie (EGIE3), segue uma análise completa do Canal do Holder:

Com o rendimento da própria carteira, somado ao capital que me prontifico separar para investir mensalmente, comprei mais ações (ou cotas) de ODPV3, EGIE3, ITUB3 e MXRF11. O maior aporte foi para EGIE3 e o menor para MXRF11.

Confiram a distribuição dos ativos, segundo o portal CEI (NÃO inclui o Fundo DI):

A proporção em ações aumentou em decorrência da forte valorização do índice Ibov

A composição atual ficou assim (gráfico do IrpfBolsa):

Vale lembrar que o gráfico acima representa uma distribuição baseada no custo de aquisição, não no valor de mercado

Apesar do resultado menos expressivo, a performance da carteira continua excelente. Minha capacidade de aporte foi a menor no ano porque troquei de computador – depois de 9 anos, já era hora de atualizar. Ainda assim, me programei para manter os aportes mensais em dia e um pequeno recurso para a avaliação do robô de trade.

Para conhecer um pouco mais sobre o processo de codificação do robô, não deixem de acessar o nosso canal do Youtube – infelizmente, o robô encerrou o mês com prejuízo de aproximadamente R$ 300

De maneira geral, continuo bastante satisfeito. Vale lembrar que, no curto prazo, oscilações são naturais e esperadas (com movimentos de repique, por exemplo). Dentro de qualquer tendência, os papeis não se movimentam em linha reta.

Estou apenas demonstrando o potencial de crescimento, isto não é recomendação de investimento.

Armas de fogo aumentam ou diminuem a violência?

Resolvi escrever sobre o assunto após conferir alguns comentários quando compartilhei, em nossa fanpage, o resultado da pesquisa Datafolha que apontou que 51% dos brasileiros têm medo da polícia e apenas 47% confiam nos policiais.

Caso esse pessoal precise de ajuda, recorrerão ao Batman?

Na verdade não existe um consenso claro sobre o assunto…

É possível levantar pesquisas que comprovam que países com liberação de armas são mais seguros e, se quisermos, também encontramos material colocando em dúvida.

O problema é que tudo isto varia de acordo com a realidade de cada região. Não poderíamos usar o Japão como exemplo, pois os aspectos culturais, sociais e econômicos são MUITO diferentes. Quanto menos desenvolvido o país e mais desigual economicamente, mais frequentes serão os conflitos violentos – com ou sem arma de fogo.

– Se quiser reforçar a tese da liberação:
https://www.tercalivre.com.br
https://dellacellasouzaadvogados.jusbrasil.com.br

– E se quisermos refutar a tese:
http://mercadopopular.org

– Meio termo (considero o mais sensato):
https://veja.abril.com.br

O problema é que o Brasil é um país que carece em infraestrutura, saúde e segurança. Vi muitos questionamentos quanto a atuação da polícia – se, com a polícia existem problemas, sem ela vira um caos.

É fácil perceber que se trata de um assunto complexo. A defesa de cada tese acaba dependendo do viés que cada um prefere defender!”

Guia do investidor para declaração de IR

Já fiz minha declaração, mas revisarei antes de transmitir. A meu ver, não houve mudanças muito significativas – a sequência lógica se mantém. Desde 2017, o software para preenchimento e transmissão é o mesmo. A maior dificuldade, neste ano (2018), está nos campos adicionais para declaração de “bens e direitos“, como o renavam para automóveis, inscrição municipal e registro em cartório para imóveis e CNPJ para ativos financeiros.

Resolvi compartilhar algumas dicas para auxiliar no processo de preenchimento. Não é algo tão complicado quanto parece e evitará que o investidor exponha seu patrimônio (detalhadamente) a contadores.

Vale lembrar que não sou especialista em IR e existem especificidades que variam de acordo com a realidade de cada contribuinte. Como não invisto fora do país (por exemplo), ignoro as opções referentes à moeda estrangeira.

Antes de prosseguir, recomendo a leitura dos seguintes links:
http://www.adctec.com.br/blog/imposto-de-renda-pessoa-fisica-2017
http://idg.receita.fazenda.gov.br/interface/cidadao/irpf/2018/declaracao/preenchimento
http://dinheirama.com/blog/2015/02/27/7-erros-comuns-imposto-de-renda-acoes-como-evita-los/

Link para download do programa:
http://idg.receita.fazenda.gov.br/interface/cidadao/irpf/2018/download

Para saber como funciona a tributação sobre investimentos imobiliários:
http://www.fundoimobiliario.com.br/leis.htm

Guarde todos os documentos por 5 anos (pelo menos) – Em caso de problemas (malha fina), a Receita Federal pode solicitar a apresentação dos comprovantes.

1. Se esta for sua primeira declaração, comece pela “Identificação do contribuinte” em “Fichas de declaração”.

irpf1

Não há mistério algum.

Mas, preste atenção para não cometer erros de digitação no preenchimento de informações que são imutáveis ao longo da vida. Apesar de pouco provável, pequenas inconsistências, como data de nascimento errada, podem fazer com que o contribuinte caia na malha fina. Já presenciei alguns relatos sobre isto.

Se o titular for casado, basta selecionar “sim” em “Possui cônjuge ou companheiro(a)?” e informar o CPF em questão. E, na ficha seguinte (dependentes), se for o caso, é possível cadastrar o(a) cônjuge como dependente (código 11).

2. Em seguida, ainda em “Fichas de Declaração”, identifique sua fonte(s) pagadora(s) em “Rend. Trib. Receb. De Pessoa Jurídica”.

irpf2

Esta ficha é obrigatória para trabalhadores assalariados ou prestadores de serviço.

O processo de preenchimento é simples. Utilize como referência o informe de rendimentos fornecido pela(s) empresa(s) em que trabalha ou prestou serviços. Atenção, nesta etapa é fácil para a Receita detectar qualquer tipo de inconsistência, pois ela cruzará seus dados com os informados pela fonte pagadora. O contribuinte cairá na malha fina caso uma das partes cause divergência de informações.

Diante do cenário econômico atual (de elevado grau de desemprego), muitas pessoas tem se posicionado, no mercado, como “Microempreendedor Individual (MEI)”. Não é o meu caso, mas para esclarecer as dúvidas mais comuns, separei alguns links interessantes:MEI também entrega DIRFcomo fazer a declaração anual do MEI (Sebrae)  e  como o MEI declara o IRPF (2016) .

3. A ficha “Rendimentos Isentos e Não Tributáveis” é muito comum para quem lida com investimentos com rendimento livre de IR (com isenção).

Esta ficha é utilizada para informar rendimentos livre de IR, como Caderneta de Poupança, LCI, LCA, Fundos Imobiliários e dividendos de ações.

Desde o ano passado, o contribuinte não precisa mais identificar o item adequado para cada “tipo de rendimento”. Esta ficha foi separada em duas abas, uma para informar cada rendimento individualmente e outra para informações gerais (totais). A aba padrão (primeira) já permite lançar os rendimentos, basta identificar o código corretamente.

Os códigos mais comuns para lançamento:
09 – Lucros e dividendos recebidos
10 – Parcela isenta de proventos de aposentadoria, reserva remunerada …
12 – Rendimentos de cadernetas de poupança …
18 – Incorporação de reservas ao capital / Bonificações em ações
20 – Ganhos líquidos em operações à vista de ações … até R$ 20.000 …
26 – Outros

A maioria dos bancos fornece o extrato detalhado pelo home-banking.

O cadastro é simples: “informe o código adequado ao tipo de investimento, CNPJ  e nome da “Fonte Pagadora” e o rendimento líquido”. Para isto, utilize como referência os informes de rendimentos enviados pelos Correios.

Vale lembrar que, no mercado de ações, o pagamento de “Juros sobre Capital Próprio” não é isento de IR, portanto é declarado na ficha “Rendimentos Sujeitos à Tributação Exclusiva/ Definitiva”. Mas, é simples. No próprio extrato, para facilitar o preenchimento, os valores já estão separados “por ficha”.

Caso algum extrato indique a existência de “Rendimento não pago”, como foi o caso do fundo XPGA11 (em 2016), o rendimento será cadastrado normalmente, mas será necessário informar o valor líquido, na ficha “Bens e direitos”: código 99 (Outros) e descrição “Créditos em transito” ou “Crédito devido pela pessoa jurídica”, seguido da identificação da fonte pagadora (com CNPJ).

Em 2016 encerrei algumas operações com lucro, sem exceder o limite de isenção (até R$ 20.000 por mês). Neste caso, é preciso informar o valor através do código 20.

O vídeo, a seguir, demonstra claramente o passo a passo da leitura do informe de rendimentos.

Mantive a declaração dos dividendos dos FIIs  sob “código 09” (lucros e dividendos recebidos), mas existem orientações, na Internet, indicando que este registro seja feito sob “código 26” (Outros), com descrição de “Ganhos em Fundos Imobiliários”. Entrei em contato com a ouvidoria da Receita Federal (resposta no link ao lado) para saber qual é o melhor procedimento em relação aos Fundos Imobiliários.

Vale lembrar que, no caso da bonificação em ações, deveremos informar o valor através do “código 18” (algumas corretoras fornecem o valor).

Confiram algumas orientações para declaração de FIIs:
http://abacusliquid.com/irpf/como-declarar-fiis/
http://blog.bussoladoinvestidor.com.br/imposto-de-renda-em-fundos-imobiliarios/
http://blog.bussoladoinvestidor.com.br/amortizacao-de-fundos-imobiliarios-ir/

Outro link interessante:
http://www.blogdoinvestidor.com.br/investimentos/como-declarar-os-fundos-imobiliarios-no-imposto-de-renda/

4. Em “Rendimentos Sujeitos à Tributação Exclusiva/Definitiva”, devemos informar os rendimentos de aplicações que sofrem tributação (incide IR).

Esta ficha é utilizada para informar rendimentos de aplicações financeiras como Fundos DI ou pagamento de JCP, por exemplo. Nela, são declarados os rendimentos que tiveram imposto retido na fonte e não são passíveis de restituição.

A partir de agora o contribuinte não precisa mais identificar o item adequado para cada “tipo de rendimento”. Esta ficha foi separada em duas abas, uma para informar cada rendimento individualmente e outra para informações gerais (totais). A aba padrão (primeira) já permite lançar os rendimentos, basta identificar o código corretamente.

Os códigos mais comuns para lançamento:
06 – Rendimentos de aplicações financeiras
10 – Juros sobre capital próprio
12 – Outros

Não há mistério. O processo é o mesmo descrito na ficha anterior. A diferença é que faremos o cadastro de aplicações que sofrem tributação.

Para declarar rendimentos não pagos o processo é o mesmo descrito em rendimentos isentos.

Confiram a legislação referente à tributação de “Juros sobre Capital Próprio”:
http://contadores.cnt.br/noticias/artigos/2016/05/03/juros-sobre-capital-proprio-2.html
http://artigoscheckpoint.thomsonreuters.com.br/a/5v7w/ponderacoes-sobre-os-juros-sobre-capital-proprio-e-seus-contornos-fiscais-e-juridicos-marcos-ricardo-cruz-da-silva

5. Em “Bens e Direitos”, declare o patrimônio adquirido (ou a “evolução” anual).

irpf5

Nesta ficha cadastre seu patrimônio: casa, carro e investimentos, por exemplo.

Para “imóveis” ou “carro” declare o valor de aquisição, não o valor de mercado. Neste caso, ao longo dos anos, o contribuinte deverá apenas clicar em “repetir”, pois o preço de aquisição não mudará. A casa deve ser cadastrada com “código 12” e o carro com “21”.

Caso o contribuinte não dispunha do bem no ano anterior (na “primeira situação”), o primeiro valor informado será 0 e o segundo será o custo de aquisição (ano de apuração).

Os códigos mais comuns para lançamento:
12 – Casa
21 – Carro

31 – Ações
41 – Poupança
45 – Aplicação em renda fixa ou CDB

61 – Conta corrente
71 – Fundo de curto prazo
72 – Fundo de longo prazo
73 – Fundo de investimento imobiliário
74 – Fundo de ações ou ETF

97 – VGBL

A declaração de “ações” também é baseada no custo de aquisição (até o último dia do ano). Mas, se o investidor adquirir mais ações, a diferentes preços, o custo total será definido pela multiplicação entre o preço médio e o número de ações. Declare, por empresa, através do “código 31”. Na descrição, informe o nome da empresa, código de negociação, corretora (com CNPJ) e número de “papéis”. Foi incluído ao formulário um campo para CNPJ da empresa em questão (seu ativo), mas a identificação da corretora é opcional.

Os fundos de investimentos imobiliários seguem o mesmo padrão, mas com “código 73”. Na descrição, informe o ticker (código de negociação), corretora (com CNPJ) e número de cotas. Da mesma forma como ocorre nas ações, surgirá um campo CNPJ para identificação do fundo em questão.

Caso apareça “valor não pago” em algum informe de rendimento recebido, será necessário lançar o valor em “Bens e Direitos”, com “código 99” (outros) e descrição “CREDITO DEVIDO PELA PESSOA JURIDICA” – no ano passado, foi o caso do fundo XPGA11: “XP INVESTIMENTOS (FII XPGA11), CNPJ 02.332.886/0001.04”.

É possível conferir um passo a passo através dos links:
http://abacusliquid.com/irpf/como-declarar-acoes/
http://abacusliquid.com/irpf/como-declarar-fiis/

O número de operações em bolsa dificilmente será pequeno. Portanto, para evitar erros e desgastes desnecessários, recomendo utilizar alguma ferramenta auxiliar, como o IrpfBolsa ou Calculadora de IR (do site Bússola do Investidor), principalmente se o investidor costuma fazer trades ou negocia cotas de FIIs.

Testei as duas ferramentas citadas acima e farei um breve comentário sobre cada uma.

Antes de tratar das ferramentas, em questão, é interessante compreender como funciona o recolhimento de IR sobre operações em bolsa.

É responsabilidade do investidor o recolhimento de imposto sobre operações em bolsa, com alíquota de 15% sobre os lucros aferidos em operações comuns e 20% em day-trade (operação de compra e venda no mesmo dia). Vale lembrar que, no mercado de ações, há isenção quando o somatório das vendas não exceder “R$ 20.000,00” (no mês), exceto para day-trade.

Não há isenção para negociação de cotas de fundos imobiliários (venda com lucro) ou operações de day-trade.

No caso de lucro, o pagamento deve ser feito com a emissão de uma DARF (código 6015), até o último dia útil do mês subsequente ao da apuração do lucro. É um procedimento válido no decorrer do ano”, sempre que o investidor encerrar sua posição com ganho de capital.

Tanto os lucros como os prejuízos serão declarados (no sistema da Receita), em “Operações comuns / Day-Trade” no menu “Renda Variável”. O prejuízo será compensado futuramente, permitindo abater sobre ganhos posteriores. Esta é outra etapa que a utilização do IRPFBolsa pode ajudar bastante.

Confiram um exemplo completo envolvendo ETFs:
https://verios.com.br/blog/como-declarar-no-ir-seus-investimentos-em-etfs/

É evidente que a emissão da DARF dificilmente acontecerá para adeptos de B&H, pois será raro exceder o limite de isenção (R$ 20.000 em vendas) ou realizar operações de day-trade. Ou seja, acontecerá em menor proporção porque, nesta estratégia, as operações de compra costumam ser mais frequentes e as “posições” não são “fechadas” com frequência.

Acredito que, por mais simples que pareça, é inviável tentar gerenciar todas as operações ou carteira de ações manualmente. No mínimo, o investidor terá que lançar suas operações em uma planilha e definir fórmulas para o cálculo de preço médio, lucro e prejuízo, por exemplo. Pessoalmente, acredito que além de ser muito trabalhoso, amplia a margem de erros.

Com a utilização de ferramentas específicas para o cálculo de IR e gerenciamento de carteira, o investidor contará com inúmeros benefícios: “maior precisão e facilidade para lançar as ações ou cotas em ‘Bens e Direitos’, geração automática da DARF, apuração automática de lucros ou prejuízos e acompanhamento detalhado da evolução de sua carteira de investimentos”.

O IrpfBolsa foi a primeira solução que testei e utilizei para auxiliar no recolhimento de IR e declaração – excelente relação custo x benefício. A licença para dois anos custa R$ 90,00 (pagamento único). Para quem lida com renda variável, e diante dos benefícios, este preço é simbólico. Há uma explicação do objetivo disto no próprio site – achei inteligente.

Na opção “Imposto de Renda”, é possível acompanhar o resultado anual da carteira, bem como a apuração de lucro ou prejuízo a compensar.

O trabalho do investidor se resumirá em alimentar o sistema com as notas de corretagem.

Para preencher a ficha de “Bens e Direitos”, podemos utilizar as informações fornecidas pelo IrpfBolsa, levando em consideração os campos “papel” (código), “quantidade” e “custo total”:

– Através do menuMeus resultados”, selecione a aba “carteira atual” e clique em “exportar” (no canto superior direito). Os dados serão “copiados” em memória e, desde que não existam lançamentos após dezembro (no ano de apuração), basta abrir uma planilha (como o Excel) e aplicar o recurso de edição “colar”.

– Porém, caso existam lançamentos após o ano de apuração, o ideal é fazer o levantamento através da aba “Variação da carteira”, selecionando o ano adequado e percorrendo cada mês de forma decrescente (a partir de DEZEMBRO). Feito isto, declare o primeiro resultado que encontrar para o ativo (será o mais atual).

irpfbolsa

A partir dos dados acima, pude declarar as cotas do fundo SAAG11:

irpfbens

Em “situação”, informe o “custo de aquisição”, não o valor de mercado.

Em 2016, testei, gratuitamente, pelo período de 7 dias, a “Calculadora de IR” do site “Bussola do Investidor”. Gostei. Tecnicamente, não deixou nada a desejar. Mas, em minha opinião, o custo mensal de R$ 49,90 (ou anual de R$ 538,92) da versão PRO, o coloca em desvantagem em relação ao IrpfBolsa.

FCL: Analisando Fluxo de Caixa Livre

Analisar o balanço para identificar boas empresas é uma etapa mandatória para selecionar mais adequadamente a empresa em que desejamos nos tornar sócios (visão de Holders).

https://media.treasy.com.br/media/2018/08/Fluxo-de-Caixa-livre.jpg

De acordo com o portal Treasy, “a definição mais simples para entender o que é Fluxo de Caixa Livre é dizer que se trata da quantidade de dinheiro restante em uma empresa. Em outras palavras, é o montante de caixa (fluxo de caixa operacional) que permanece em um negócio após todos os gastos (dívidas, despesas com aluguel, salários etc.) terem sido pagos.”

Confiram uma leitura praticamente obrigatória para Holders:
https://www.treasy.com.br/blog/fluxo-de-caixa-livre/

Resumindo: “Se encontramos uma empresa com lucro líquido consistente, dívida saudável (ou descrescente, de preferência), margem bruta estável e FCL consistente e crescente, estamos diante de uma empresa com características sólidas para investimento“.

Para a análise descrita anteriormente, recomendo o site:
https://www.oceans14.com.br/acoes/

Aliás, foi usando estes critérios que decidi manter uma pequena posição em CRFB3 (Carrefour).

Algoritmos: Programação de robôs de trade (videoaula)

Sei que o intervalo de tempo entre um vídeo e outro está longo, mas não estou com muita disponibilidade de tempo livre e, infelizmente, no final de semana passado o HD (disco rígido) principal do meu computador danificou definitivamente. Logo, precisei refazer a instalação do sistema operacional e recuperar o backup de minhas aplicações e projetos. Isto sem falar que ainda estou codificando e otimizando meu robô de trade.

Antes de tratar sobre a codificação de indicadores ou robôs propriamente, começaremos falando sobre lógica de programação (algoritmos). Para quem pretende criar seu próprio indicador ou EA no Metatrader, este conhecimento é fundamental.

Para melhor compreensão, é importante entender primeiro o conceito de entrada (INPUT) e saída (OUTPUT).

Entrada: Recebimento de dados para processamento (associação direta, leitura de um arquivo ou dados fornecidos pelo teclado)

Saída: Resultado final do processamento (escrita em disco ou exibição em tela).

Com este entendimento, fica mais simples compreender o que é um algoritmo e como escrever o nosso próprio código.

Um algoritmo nada mais é que uma sequência lógica de instruções (código) que determinam como dados recebidos (entrada) serão tratados pelo computador.

Resumindo, o algoritmo é uma sequência lógica de instruções que utilizaremos para solucionar determinado problema. A sequência lógica pode ser apresentado em diagrama (fluxograma) ou por um bloco de código (prévia para codificação).

https://www.lucidchart.com/pages/pt/modelos-e-exemplos-de-fluxogram

Como o nosso objetivo principal é a codificação de indicadores ou assistentes especializados (robôs), o foco deste artigo será voltado aos blocos de código. A figura anterior (fluxograma), foi utilizada como reforço para demonstrar como funciona a lógica de programação.

Porém, é através do algoritmo que aprendemos a programar… 😉

http://aprendizfinanceiro.com.br/awrp/wp-content/uploads/2019/03/Algoritmo-videoaula.doc

O primeiro passo, será identificar as “variáveis” necessárias para nosso programa.

As variáveis representam áreas de memória que identificam um dado específico (onde guardaremos o dado recebido para posterior referência – seja por arquivo, teclado ou associação direta).

Por exemplo (associação direta – atribuindo valores):

candle_maior=10
candle_abertura=5
candle_fechamento=8
candle_menor=3

Foram utilizadas 4 variáveis para guardar o valor do “último negócio” realizado no MT5, onde candle_abertura representa o preço de abertura da barra e candle_maior a máxima da barra. As demais variáveis são autoexplicativas.

“Aliás, sempre utilize nomes sugestivos para associar rapidamente a finalidade da variável

O exemplo anterior foi de variáveis simples, mas podemos trabalhar com vetores (array) para armazenar múltiplos valores na mesma variável – permite ter acesso a informações passadas a qualquer momento (histórico).

Caso precisássemos armazenar os preços negociados nas últimas 100 barras, por exemplo:

candle_maior[0]=10
candle_abertura[0]=5
candle_fechamento[0]=8
candle_menor[0]=3

candle_maior[n]=…
candle_abertura[n]=…
candle_fechamento[n]=…
candle_menor[n]=…

candle_maior[99]=6
candle_abertura[99]=5
candle_fechamento[99]=3
candle_menor[99]=2

O valor que aparece entre colchetes (“n”) é um índice que identificará cada barra. Como, no MQL5, o primeiro índice começa em 0, o último (em 100 barras) será 99.

Também precisamos identificar o tipo de dado:
1. lógico: boleano (verdadeiro ou falso)
2. data_hora: formato data e hora
3. numérico: inteiro ou flutuante
4. textual: caractere ou string

Por exemplo:

inteiro i = 0
boleano candle_alta = verdadeiro
flutuante maior_preco = 0.0
flutuante candle_fechamento[]

Neste artigo, para receber dados por teclado, convencionaremos que a instrução será “leia“. E, para exibir os dados, convencionaremos “exiba“.

Entendida a declaração das variáveis, podemos começar a definir a lógica de processamento – “99% do sucesso de todo código (instruções) depende desta definição (onde as comparações serão feitas)”.

Estruturas condicionais:

São blocos de código onde validaremos se o conteúdo das variáveis atendem nossas necessidades: “se condição_verdadeira; faça

– Qual seria o algoritmo necessário para descobrir se um candle é de alta ou baixa?

flutuante candle_abertura=0.0, candle_fechamento=0.0
boleano candle_alta = falso
leia candle_abertura
leia candle_fechamento

se candle_abertura < candle_fechamento; então
candle_alta = verdadeiro
exiba “fechamento”+candle_fechamento+“ alta”
senão
candle_alta = falso
exiba “fechamento”+candle_fechamento+“ baixa”
fim-se

Na realidade, defini candle_fechamento como boleano de propósito, pois no MQL5 poderia ter feito a comparação pela própria variável.

flutuante candle_abertura=0.0, candle_fechamento=0.0
leia candle_abertura
leia candle_fechamento

boleano candle_alta = (candle_abertura < candle_fechamento)

se candle_alta == verdadeiro; então
exiba “fechamento ”+candle_fechamento+“ de alta”
senao
exiba “fechamento ”+candle_fechamento+“ de baixa”
fim-se

Caso pareça muito confuso, respire fundo e leia novamente!

Não é obrigatório dominar tudo que foi demonstrado, mas saiba que é o básico para que possamos otimizar o código para as nossas necessidades. Do contrário, a contratação de um programador será a única alternativa.

Em relação a programação, o que fiz, no exemplo anterior, pode gerar alertas de compilação ou resultado inesperado em algumas linguagens de programação. Percebam que, na exibição, fiz uma soma entre strings com um valor flutuante (são tipos diferentes).

Logo, o ideal é realizar a conversão para um tipo comum. Neste caso, o mais lógico, no momento da soma, seria converter candle_fechamento para string.

Este processo de conversão é conhecido como casting:

exiba “fechamento ”+(string) candle_fechamento+“ de alta”

A partir deste momento, a instrução exiba entenderá que está somando (concatenando) strings. Em algumas linguagens (não é o caso da MQL), ‘a+1’ é igual ‘b’!

Vale lembrar que tenho colocado verdadeiro ou falso em negrito porque representa um valor reservado para identificar o resultado lógico da variável boleana. Não se preocupe muito com isto agora, mas é fundamental que você saiba interpretar os exemplos dados (como está sendo processado).

É evidente que muitas vezes faremos mais de uma comparação na mesma expressão, obrigando que duas ou mais condições sejam atendidas (AND) ou apenas uma (OR).

-É aqui que entra a interpretação da tabela verdade:

se (a > b AND b > c): será processado quando ambas forem verdadeiras
se (a>b OR b>c): será processado se qualquer uma das condições for verdadeira.

Confiram uma videoaula específica sobre estruturas condicionais:

Estruturas de repetição (loop):

Uma estrutura de repetição é basicamente um bloco de instrução em que uma determinada operação deverá ser executada repetidas vezes até atingir o resultado esperado.

Poderíamos utilizar um loop para descobrir qual é o maior preço de fechamento das últimas 100 barras, por exemplo.

inteiro i=0
flutuante maior_preco=0.0
flutuante candle_fechamento[]
...
para (de i=0 até 99); faça
leia candle_fechamento[i]
se (candle_fechamento[i] > maior_preco); então
maior_preco = candle_fechamento[i]
fim-se
fim-para

exiba maior_preco

A variável maior_preco foi inicializada em 0 (menor preço possível) e será substituída no primeiro preço acima de 0. Nas comparações seguintes, ela será atualizada cada vez que o valor de candle_fechamento[i] for maior que o conteúdo de maior_preco.

Se não utilizássemos uma estrutura de repetição (loop) teríamos que escrever cada comparação individualmente – em muitos casos, seria inviável.

se (candle_fechamento[0] > maior_preco); então
maior_preco = candle_fechamento[0]
fim-se

se (candle_fechamento[1] > maior_preco); então

se (candle_fechamento[99] > maior_preco); então
maior_preco = candle_fechamento[99]
fim-se

Mais uma videoaula específica sobre estruturas de repetição (bastante didático):

Cuidado para não tornar os laços infinitos (no exemplo anterior, o limite foi fixado em 99 – repetição de 100x), pois, caso fique infinito, o processamento não terminará e causará o travamento da aplicação.”

Para finalizar, também podemos trabalhar com reaproveitamento de código e melhor organização estrutural disponibilizando funções.

Chamadas de funções:

Quando precisarmos executar uma mesma operação várias vezes em diferentes partes do código, ao invés de repetir o mesmo bloco de código várias vezes, podemos separar o código responsável por este processamento e chamá-lo sempre que for necessário (com uma única chamada, informando os dados necessários).

flutuante função calc_media (flutuante maxima, flutuante minima); início
flutuante resultado = (maxima + minima)/2
retorne resultado
fim-função

flutuante maxima=0.0, minima=0.0, media=0.0
leia maxima
leia minima
media=calc_media(maxima,minima)

exiba media

Percebam que cada função representa um bloco de código separado. Caso o processamento da função, ao final do seu processamento, ofereça algum retorno (resultado final), deveremos configurar o tipo de dado que será retornado (no exemplo foi flutuante).

Confiram uma videoaula específica sobre funções (bastante didático):

No MQL5, a posição da função, em relação a sua chamada, não importará. Não é algo muito comum porque a interpretação do código é sequencial e o compilador, teoricamente, precisa conhecer a função antes de uma chamada no bloco de código principal.

Espero que o conteúdo lhe auxilie no aprendizado!

– Quem não se familiarizar com lógica de programação, precisa contratar um programador para MQL5 – sua curva de aprendizado pode ser longa.

– Outra opção é buscar soluções comerciais onde você apenas alimenta as opções do robô de acordo com o tipo de lógica já programada – aqui Brasil, a Smartbot oferece este serviço.