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).
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.”
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“.
Recebi um texto, em nome de Marcelo Rates Quaranta (autor), achei a sequência de argumentos fantástica e resolvi compartilhá-lo. O texto é longo, mas vale a penas separar alguns minutinhos para leitura!
*Um Brasil do lado de lá do espelho*
Pablo Vittar é cotado como “mulher” mais sexy, Thammy Gretchen é cotada como “homem” mais sexy e agora só falta o Tiririca ganhar um assento na Academia Brasileira de Letras e a Jojo Todynho ganhar o concurso de Miss Brasil. Isso não é nada para um país que tem um presidiário analfabeto como Doutor Honoris Causa e um Presidente da Suprema Corte que nunca foi Juiz.
Vivemos no país do espelho, onde as imagens são invertidas pela grande mídia comprometida com a esquerda. Uma parcela do povo idolatra e pede a liberdade de um corrupto que não só roubou dinheiro, mas também os sonhos das pessoas, e ainda chamam de “criminoso” o Juiz que o condenou pelos crimes.
Mulheres escrevem cartas de amor para um ex-goleiro matador de mulher; gays idolatram Che Guevara que matava gays e ativistas negros endeusam um líder de quilombo que mantinha escravos negros, mas esquecem de todos os brancos abolicionistas que lutaram pela liberdade dos escravos, sobretudo daquela que a assinou.
Que maravilha de país! Guerrilheiros recebem pensão como prêmio por assaltos, assassinatos e sequestros e um fuzil nas mãos de um bandido não representa qualquer ameaça.
Enquanto isso nossos policiais são mortos aos borbotões. Mas o que esperar de uma gente que transformou Marielle em heroína, mas esqueceu da professorinha que morreu queimada depois de salvar várias crianças de um incêndio criminoso? Isso fora os que acharam um absurdo uma policial matar um bandido que ameaçava mães na porta de uma escola.
Invasores de terras matam gado, destroem laboratórios e queimam casas em nome da “justiça social”, e manifestantes queimam carros, depredam patrimônio público e saqueiam lojas pedindo “ordem”. Tempos atrás foi por causa de um aumento de vinte centavos nas passagens, mas são os mesmos que clamam pela liberdade de quem lhes roubou bilhões de reais, e quando roubou, ficaram calados.
Nas universidades, que deveriam ensinar os alunos a serem produtivos, doutrinam com base nas filosofias de um vagabundo improdutivo chamado Marx, e que viveu a vida inteira às custas da mulher, rica. Mulheres gritam contra o feminicídio, mas defendem a morte de inocentes no ventre.
Aqui os militantes que pregam a paz são os que praticam o ódio e os políticos que falam em liberdade são os que aprisionam os humildes na ignorância. Até o que veio pedir o fim das “fake news” foi o que mais se utilizou de mentiras em sua campanha.
Aqui, meu filho, comunistas falam em igualdade morando em mansões, voando de primeira classe, comendo em restaurantes caros e com rolex no pulso. Lutam contra o capitalismo tirando férias na Disney ou Nova York, e fazendo discursos tomando um scotch 20 anos no baixo Leblon. É lá que fazem defesas apaixonadas da “democracia” de Cuba, onde não tem eleições desde 1959 e nem é permitido existir oposição. É onde empunham suas bandeiras contra a ditadura e defendem a liberdade de expressão, mas reverenciam Maduro, que condena seus opositores às masmorras, retira toda a liberdade de expressão e pune com a morte os manifestantes. Puxa… Que romântico!
Esse foi o legado deixado pela esquerda depois de longos 14 anos.
*Só espero, sinceramente, que estejamos entrando numa nova fase, e que o Brasil comece a sair dessa inversão maldita, passando a trilhar por uma estrada reta e decente, porque nunca antes se viu um país pegando um atalho tão curto para a decadência.*
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).
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… 😉
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):
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:
“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
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?
secandle_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.
Pois é, se o Leão é Manso, então a CONTRAF-CUT não é muito “inteligente”… na maioria das vezes, estes Bancos citados remuneram por JCP, onde há tributação de IR no ato do pagamento aos acionistas.
Logo, no JCP, a distribuições dos lucros favorece as empresas diminuindo o IR, mas o encargo fica com o acionista que será taxado em uma alíquota de 15%. E, no caso dos dividendos, a distribuição acontece sobre o lucro líquido da empresa, após o pagamento de todos os seus tributos (como IR e outras contribuições).
Portanto, o governo já arrecada em ambos os casos – seria bitributação!
Além disso, faria com que inúmeros investidores percam o interesse pela relação risco x retorno do país, direcionando capital para países com menor volatilidade ou, como nossa taxa de juros é alta, direcionando para renda fixa.
Recebi o texto ontem e, pela excelente reflexão do momento em que vivemos, resolvi compartilhá-lo.
SÓCRATES ENCONTRA PROFESSOR DA USP
“Sócrates, enviado para 2017 em um vórtice temporal, cai em São Paulo, no meio de um manifesto, e encontra um militante esquerdista
– Olá, excelente rapaz!
Do que se trata toda essa gente reunida?
– Olha, velhote desinformado,
estamos lutando contra a elite por justiça!
– Sim, eu realmente sou um desinformado,
eu sou quem não sabe,
mas estou muito feliz de encontrar você,
que realmente sabe!
Peço que me ensine, é possível?
– Sim, claro, sou da USP,
tem muita coisa que você precisa aprender!
– É um grande dia, excelente rapaz!
Finalmente encontrei alguém sábio que me ensinará!
Primeiro, gostaria de saber o que é a elite,
depois o que é justiça e por último
por qual aplicação de justiça estão lutando.
Pode ser nessa ordem?
– Sim, isso é fácil!
– Perfeito! O que é a elite!?
– A elite são os ricos,
que têm muito dinheiro, muitos bens.
– Então, o critério para discernir a elite
é a quantidade de dinheiro, de bens,
que possui, certo?
– Sim, é esse mesmo!
– E a partir de que ponto um homem é considerado rico,
participante da elite?
– A classificação disso é através classes sociais,
que são A, B, C, D, E e F!
A classe A é quem tem mais,
e vai diminuindo para quem tem menos,
até a classe F, que é praticamente miserável e
não tem nada... é por eles que lutamos!
– Certo,
como eu posso identificar quem é a elite nesses termos?
– São as classes A, B e C,
mas é só ver quem ganha mais de 2.300
por mês, que já é elite!
– Entendi, e os outros todos não são elite, certo?
– Sim, o critério é esse.
– Quem ganha mais de 2.300 por mês é a elite,
e a elite é malvada, certo?
– Certo!
– E quem ganha menos de 2.300 por mês não é da elite,
e não é malvado, correto também?
– Sim, é exatamente isso!
O senhor está aprendendo muito bem!
Qual seu nome?
– Meu nome é Sócrates, excelente rapaz!
– Certo, Sócrates! Está aprendendo muito bem.
– Você é formado em uma universidade, não é isso?
– Sim! Sou inclusive professor! Da USP, como eu disse!
– Que dia maravilhoso para mim, excelente rapaz!
Encontrei finalmente um sábio!
Quanto ganha um professor da USP?
– Eu ganho 10 mil…
– Então...você é da elite e é malvado?
– Não… é que… olha… eu luto pelo povo e…
eu quero só o bem dele!
– Mas você disse que o critério era esse…
– Eu sei, parece estranho,
mas são nossos representantes que vão
acabar com essas diferenças sociais!
– Estou me esforçando para compreender:
quem são seus representantes?
– São os políticos!
– Quanto ganha um político hoje, rapaz?
– Depende:
deputado ganha cerca de 39 mil por mês,
um senador uns 33 mil…
– Então eles são da elite também!
– São, sim… mas são eles que vão fazer o bem para o povo!
– Mas você me disse que a elite só faz o mal,
e que o critério é que quem ganha mais de 2.300
por mês é mau...
tanto você quanto seus representantes são da elite,
devo supor que são maus,
segundo suas próprias palavras…
ou será de outra forma?
– Estou desconfiando que você é um infiltrado, velho!
Como pode duvidar do que estou dizendo?
– Eu estou tentando aprender, você disse que me ensinaria.
Mas, afinal, você é um homem mau e seus representantes
também são maus,
ou esse critério estará errado?
– Eu não sou mau!
Lula é santo! Que espécie de perguntas são essas?
– Chama-se lógica, rapaz,
eu só estou examinando seu próprio critério…
se o critério estiver certo, você e seus representantes
são maus, se forem bons então o critério está errado…
não será dessa forma?
– Está bem, talvez o critério esteja errado,
pois eu sou um homem bom,
e meus representantes também são bons,
afinal estou lutando pela justiça,
pelo bem, por algo bom!
– Muito bem, rapaz! E qual a luta de vocês?
– Lutamos contra os maus… quer dizer, a elite…
– Nos critérios que você me colocou?!
– Sim!
– Oras, estão lutando contra si mesmos?!
– Não! Bem, talvez o critério esteja errado mesmo…
não sei mais!
– Mas, me diga, o que é justiça?
– Justiça é que todos ganhem o mesmo salário!
Para não haver desigualdade, sabe?
– Mesmo os que não trabalham?
– Não, só os que trabalham, claro…
– Então já não são todos... Concorda?
– Bem, quis dizer todos que trabalham;
os que não trabalham ganham bolsas,
essas bolsas é para que não fiquem sem nada…
– Essas bolsas são como um salário?
– Sim! Recebem uma vez por mês!
– E de onde sai o dinheiro dessas bolsas, rapaz?
– Impostos! As pessoas trabalham e pagam impostos,
o estado redistribui a renda,
e paga as bolsas.
– Então quem paga as bolsas é quem trabalha,
e é justo que quem não trabalha receba salário por
não trabalhar, e quem está trabalhando
pague salário a quem não trabalha?
– Sócrates, você está me deixando confuso…
– Apenas me responda,
a justiça consiste em pagar salário para quem não trabalha,
é isso?
– Não… é redistribuir a renda…
– Mas, no final da sua redistribuição,
isso é o que acontece, ou não?
– Sim, é… mas…tudo parece estranho, eu sei.
Mas, quando fizermos o comunismo, tudo vai ser diferente,
tudo vai ser justo e ninguém vai ser miserável,
não vai dar pra você entender agora…
a elite é poderosa e controla tudo!
– Rapaz, até agora tudo que você me disse foi contraditório,
não?
– Sim, foi! É que você precisa esperar o comunismo acontecer!
Aí, sim, tudo vai fazer sentido!
– Oras, rapaz, então esse tal comunismo,
deve ser maravilhoso... onde aconteceu?
– Cuba, Coreia do Norte, Rússia, Alemanha Oriental…
– Então esses lugares devem ser o paraíso!
Conte-me como são!
– Olha, as coisas não vão tão bem,
alguns lugares já abandonaram o comunismo,
mas os outros permanecem em luta!
– Rapaz, que surpresa!
Por que afinal abandonaram algo tão maravilhoso?
– Não deu certo, mas continuamos tentando!
É culpa do capitalismo!
– E os outros lugares?
– Cuba e Coreia do Norte continuam comunistas!
– Que maravilha! E como são esses lugares?
Estão bem? Todos são prósperos?
Não existem mais classes?
– Pra falar a verdade, não estão bem não.
Cuba e Coreia do Norte estão passando fome,
mas isso é por culpa do capitalismo!
– Oras, mas um modelo tão bom, pelo qual vocês lutam,
não faria apenas bem?
– É que os dirigentes não fizeram o comunismo como pensávamos,
eles deturparam, fizeram outra coisa…
– Mas você me disse há pouco que eles eram bons…
– Eu disse mas… bem, nunca se sabe!
– Será que talvez vocês não estejam errados?
– Talvez, Sócrates…
– E por que esses países têm dirigentes?
– Eles têm poder militar, e muito capital…
– Oras, você me disse que não haveria classes sociais…
– No comunismo existem apenas as classes política
e do proletariado!
– Então existem ainda classes, correto?
– Não tenho como discordar agora…
– Meu rapaz,
não me parece que você esteja lutando por algo bom,
pois seus exemplos foram todos maus,
e não me parecem confiáveis seus representantes como bons,
pois sempre terminam por trair o povo,
e mesmo seus critérios não me parecem bons,
pois não se sustentam agora,
nem nos exemplos que me forneceu.
– O senhor está me deixando sem resposta.
Eu preciso estudar mais…
– Eu agradeço pela conversa,
mas vou continuar procurando alguém realmente sábio,
que possa me ensinar algo de sua sabedoria.
Um grupo de garotos se aproxima e cumprimenta o professor.
– Quem é este homem, professor?
– Um velho chamado Sócrates, que eu estava ensinando,
mas agora estou um pouco confuso…
– Por que está confuso professor?
– Ele discordou de algumas ideias minhas,
e eu não consegui sustentá-las…
O grupo de garotos grita:
– ATENÇÃO, TODO MUNDO! ESSE É UM VELHO FASCISTA! RACISTA!
MISÓGINO! SEXISTA! HOMOFÓBICO!