há um tempo atrás eu postei esse vídeo ensinando as pessoas a montarem um robô Trader de criptomoedas o que eu não esperava é que teriam tantas pessoas ali comentando no vídeo me chamando lá no Instagram porque gostaram do projeto Foi então que depois de muitas sugestões eu decidi criar uma comunidade no discord para entregar o código do robô junto com o tutorial passo a passo de como a pessoa poderia aplicar e usar o robô E aí a galera começou a entrar ali na comunidade do discord dar sugestões se ajudar algumas delas já tinham prática com programação e com o Python e ajudar aprimorar o robô que hoje saiu dessa versão que foi a versão que eu postei o vídeo para isso que é uma versão mais nova atualizada com novos indicadores que a galera ajudou a desenvolver e que a gente ainda continua desenvolvendo e também tem participantes da comunidade que entraram ali que nunca tinham mexido com a programação e começaram a dar seus primeiros passos baixando vs code instalando Python escrevendo suas primeiras linhas de código e isso me deixou muito muito feliz porque o grande intuito desse projeto é ser um projeto Educacional para que as pessoas possam aprender programação possam aprender Python e aplicar isso a investimentos a programação que hoje é uma habilidade fundamental aí que pode trazer muitas oportunidades na carreira de vocês e além disso é claro a oportunidade de aprender mais sobre investimento sobre criptomoedas e aplicar programação nesse mundo porque é muito mais legal a gente estudar Como programar quando o projeto é realmente útil e é algo que pode nos trazer ganhos o robô ainda não tá perfeito mas ele já tá na versão 1. 3 já houveram muitas melhorias e eu vou te mostrar nesse vídeo tudo que a gente melhorou nele e tudo que a gente ainda vai melhorar meu nome é Gabriel Freitas eu sou engenheiro da computação e nesse canal a gente fala sobre inteligência artificial investimentos e marketing Bora pro código estamos aqui então no nosso código e antes de eu falar sobre as melhorias de estratégia que o nosso bot teve V falar sobre as melhorias de usabilidade dele baseado aí em feedbacks que eu tive na comunidade que o pessoal me ajudou a desenvolver então uma das primeiras coisas foi separar os arquivos aqui deixar eles mais organizados em pastas ó os indicadores os logs os modelos os módulos e as estratégias e a gente colocou a execução primária dele também um arquivo main. py que é uma boa prática de programação deixando a lógica para que ela fique dentro dos moduls outra coisa muito legal foi implementar a opção de multimoedas sim agora o robô ele opera em mais de uma moeda ao mesmo tempo inclusive agradecer o Anderson aí que participou da comunidade e me ajudou a desenvolver essa parte das multimoedas e das threads em Python tá então hoje você faz a configuração aqui ó de quantas moedas você quiser né xrp S Cardano aqui eu tava testando algumas outras moedas Bitcoin e para você operar nelas é muito simples você coloca elas dentro deste arrei e todas as moedas que tiverem aqui elas vão rodar num loop de trads inicialmente elas rodavam todas ao mesmo tempo e isso é muito bom para caso você queira operar 20 moedas 30 moedas ao mesmo tempo você abre o teu terminal aqui deixa elas rodando aqui e já era mas assim bagunça um pouco os prints E logs então eu também coloquei a opção de thread loock se o thread loock tá ativada ele vai executar uma moeda depois da outra em fila inclusive os prints novos ficaram muito legais eu vou mostrar aqui ó numa moeda que eu tô vendido Cardano Olha que legal coloquei uns emoj zinhos para printar bem bonitinho aqui ficar bem legal de entender o que tá acontecendo ele mostra a última compra última venda a posição atual o balanço que tu tem aí ele tem um preço mínimo para vender um Stop loss que é uma funcionalidade que nós implementamos E aí ele executa aqui a estratégia de antecipação de médias móveis que é uma melhoria da Estratégia do último vídeo eu vou falar mais dela depois Como ela foi inconclusiva ela roda uma estratégia de fallback que é uma estratégia reserva para dar uma posição pro bot como ele tava vendido ele mantém vendido e vai rodar novamente em 5 minutos Lembrando que a gente pode configurar tudo aqui o tempo dos candles o tempo entre as ordens então tá bem legal essa questão da usabilidade e das configurações outra coisa muito legal que foi implementada Nessa versão é o l aceitável e um Stop loss tá e o fallback Eu também deixei ele como opcional teve pessoas lá na comunidade que pediram para desativar inclusive pessoal Nossa comunidade tá bem legal Aqui já são quase 200 pessoas o pessoal fica aqui se ajudando trocando ideia tirando dúvida a gente tem parte de sugestões soluções a gente tem alguns alertas aqui do mundo cripto então tá bem legal e uma das sugestões justamente foi a implementação de um fallback opcional e um Stop loss como é que tá funcionando isso então vamos supor que a gente tá nesse mercado lateralizado aqui o nosso robô ele vai entrar aqui e vai sair aqui então se o nosso loss aceitável é 0% é como se ele colocasse uma linha imaginária aqui onde ele comprou e ele não vai aceitar vender por nenhum preço menor que esse se a gente coloca por exemplo % de Los aceitável ele vai vender até um pouquinho abaixo e vai aceitar é tomar esse loss Então se nesse caso ele entrou aqui e andou todo esse caminho e não conseguiu sair aqui nesse candle ó que era para ele sair porque tá abaixo do loss aceitável ele vai rodar por todo esse período aqui e vai esperar aqui no caso ele vai dar entrada de novo então ele nem vai acabar vendendo aqui e vai vender só lá na frente ó Então isso é muito útil para não tomar los em mercado lateralizado porque ele pode acabar comprando no top topo do candle e vendendo lá no fundo do candle então ele tomaria um l de quase 3% aqui é diferente aqui por exemplo inclusive o pessoal pegou esse trade eu peguei ele tá ó o robô deu uma entrada aqui um pouco antes da média e saiu aqui em cima foi um trade de 43% em 5 dias a gente ficou rodando rando rando ele quase deu saída aqui mas depois ele continuou nessa pernada de alta então quando o mercado tá assim subindo muito alguns dias antes ele tinha dado essa queda aqui ó o robô fica certinho mas quando ele tá lateralizado ele pode ficar fazendo compra e venda em falso então por isso isso a gente definiu esse loss aceitável para ele não ficar fazendo saída em falso nem entrada em falso só que isso pode ser um pouco perigoso né porque vai que o mercado derrete como ele derreteu aqui por exemplo então você pode setar justamente uma porcentagem de Stop loss que é uma porcentagem que ele vai ignorar o loss aceitável e vai vender a mercado de qualquer maneira então aqui naquele exemplo é como se ele botasse uma linha de Stop aqui mais ou menos ó que seria o stop loss então se ele vem caminhando aqui rodando tentando lucrar mas aí o mercado derreteu ele caiu quando bater no loss aqui ele já vende na hora aí você assume esse prejuízo aqui de 3% e bola pra frente amanhã tem mais amanhã não né porque o mercado de cripto é 24 horas por dia mas tomar esses 3% é melhor do que tomar aqui ó 12% então é para isso que eu implementei essa estratégia de Stop loss configurável e agora galera nós vamos falar das melhorias das estratégias mas antes não se esqueça já se inscreve aí no canal se você tá gostando desse conteúdo deixa o seu likezão aí deixa o seu comentário sua dúvida sua sugestão que isso ajuda demais aqui a eu continuar trazendo conteúdos aqui pro Canal Beleza então se inscreve aqui para para fortalecer e vamos falar sobre as melhorias das estratégias então se você não viu o último vídeo eu aconselho que depois desse vídeo você volte lá e veja aquele vídeo porque ficou bem legal lá eu explico a estratégia raiz tá mas Resumindo basicamente nós camos uma média de sete e uma de 40 aí a gente chama a média de sete de média curta e a média de 40 de média longa quando a média curta ela passa para Cima da Média longa a gente compra quando ela passa para baixo a gente vende então aqui por exemplo na estratégia original ele ia esperar o cruzamento das médias ia comprar aqui e ia vender só depois do Cruz cruzamento das médias então às vezes ele Perdia o time ali da compra e venda para resolver esse problema eu implementei um algoritmo de antecipação de cruzamento das médias então a invés del ele comprar só aqui ó quando Cruze sai Ele vai tentar comprar um pouquinho antes aqui e quando a média começar a apontar para baixo ele já vende então ele vai teria mais ou menos esse movimento aqui ao invés de ter esse movimento aqui ó muito duro só depois que a média cruzasse para comprar e para vender e como eu programei essa antecipação usando o desvio padrão dos últimos candles e o gradiente de inclinação das retas das médias Gabriel k é isso O desvio padrão ele vai meio que medir a volatilidade ali do nosso ativo inclusive ele já é calculado direto quando a gente recebe os dados na função aqui ó get stock data a gente já calcula a volatilidade tá usando uma janela de volatilidade que aqui tá setada como 40 tá que é a mesma da nossa média lá de cruzamento a gente pega esse desvio padrão e já salva aqui na volatilidade só que pra gente ter mais controle dessa volatilidade na estratégia eu defini o fator de volatilidade que é um fator configurável aqui tá 0.