galera olha que legal enquanto eu tava gravando aqui ele acabou de executar ação de venda ele tinha entrado às 4 da manhã e saiu às 19 Então vamos ver qual foi o nosso ducro hooch 222 Fala galera Freitas aqui eu sou engenheiro da computação nesse canal eu falo sobre inteligência artificial investimentos e marketing há um tempo atrás eu postei esse vídeo criando uma estratégia de Deep learning para criar um robô trade o vídeo Ficou bem legal e teve algumas pessoas aqui nos comentários me dando várias sugestões me pedindo para implementar esse robô na prática no mercado de verdade e foi isso que eu decidi fazer eu implementei um robô Trader completo de verdade que realmente compra e vende ações para que a gente possa testar nossas estratégias essa aqui é a implementação Inicial dele A ideia é tornar isso aqui uma série no canal em que eu vou aprimorar junto com vocês as estratégias de trade que ele usa aqui e no futuro quem sabe até aplicar aquela de Deep learning que ficou bem massa para isso eu escolhi operar no mercado de criptomoedas por dois motivos primeiro usando a binance que é a maior corretora de criptomoedas do mundo eu consigo muito rapidamente integrar com a p deles é só gerar uma chave em poucas linhas ali você já tá comprando e vendendo vou mostrar isso depois e o segundo motivo é porque o mercado de crypto Opera 24 horas por dia então assim eu consigo testar muito mais o meu robô e evoluir ele muito mais rápido mas antes eu tenho que fazer um disclaimer aqui eu tenho que falar isso não adianta o mercado de trade cryptos robôs de Inteligência Artificial ele é muito volátil então você pode vir aqui copiar o código aplicar e testar com o seu dinheiro mas faça isso por sua conta e risco tá eu não me responsabilizo se você perder o seu dinheiro e você tem que ser maior de 18 anos também Beleza eu vou mostrar agora então a estratégia Inicial que eu decidi começar é uma estratégia bem simples mas que já vai dar uns resultados legais e aí com o tempo a gente vai aprimorando ela aqui no canal então também se você quiser acompanhar se inscreve dá o like no vídeo comenta aí suas sugestões Então vamos pra estratégia eu vou mostrar agora a estratégia que nós vamos desenvolver o robô que a gente vai aplicar pra gente montar ela nós vamos precisar de apenas dois indicadores uma média móvel de sete períodos que vai ser a nossa média rápida eu coloquei ela na cor amarela e uma média móvel de 40 períodos que vai ser nossa média lenta eu coloquei ela aqui na cor roxa e a ideia aqui é muito simples toda vez que a média rápida passar para Cima da Média lenta a gente compra toda vez que ela passar para baixo a gente vende Então nesse exemplo nós teríamos entrado aqui e saído aqui então nessa janela de um dia e 6 horas nós teríamos tido 10% de lucro e quando ela começasse a cair ó a gente ia ficar fora até aqui então a invés da gente perder esse dinheiro a gente guarda e espera a média passar para cima pra gente ganhar mais um pouquinho aqui ó a gente ganhar mais 1% em 11 horas algumas vezes ela vai ficar meio no zero a zero aqui ó quase mas ela vai nos proteger dessas quedas por exemplo ó aqui Nós ficaríamos fora né uma queda de quase 3% ó toda essa queda aqui ó nós estaríamos fora né teria uma entrada um zero a zero aqui ó mas até aqui praticamente ó nós teremos aí uma proteção de 10% do patrimônio ali que a gente tá investido numa janela de um dia então uma estratégia super simples fácil de implementar ela não é a mais lucrativa Mas ela é super conservadora para para deixar a gente sempre no Positivo só que para ela funcionar bem nós precisamos de constância precisamos estar o tempo inteiro olhando ali o mercado né como eu mostrei aqui ó numa janela de um dia subiu 10% e numa janela de um dia também caiu 10% então se a gente não tiver o tempo inteiro acompanhando o mercado ali o mercado de cripto é 24 horas por dia a gente vai tomar essas perdas Então essa é a ideia do robô ele operar 24 horas por dia pra gente para que ele sempre nos proteja dessa queda e a gente vai sempre acumulando essas tendências de alta beleza bom vou apresentar o código aqui para vocês e é claro que enquanto eu gravo esse vídeo o meu robô tá rodando aqui nós estamos negociando nesse momento 10 Solana né Tem uns quebradinhos aqui é 10 tá não é 10. 000 mas basicamente ele tá calculando aqui ó se a média rápida for maior que a média lenta ele dá a decisão de comprar como Nossa posição já é comprado ele vai manter a posição tá aqui no log tem a nossa última entrada de 10 Solana ao preço de 1447 naquele momento então aqui 14. 471 a gente entrou era mais ou menos por aqui um 447 ele ainda não cruzou ali na Imagina ele tá dando desse candle de subidinha provavelmente ele vai cruzar mais ou menos aqui ó Então a gente vai ter aí esse ganho de 2% numa janela de 16 horas se a gente vender por esse valor aqui ó 14 477 um ganhei de quase R 300 aí nessas 16 horas tudo no automático então uma estratégia muito boa um robô que realmente dá um retorno legal tá a e se você for começar eu aconselho você começar com uma quantidade um pouco menor tá por exemplo 0.
1 Solana que você vai estar operando com r$ 50 ou uma Solana com r$ 500 E aí quando você tiver mais confiança aí no robô você pode ir colocando e pode usar os próprios ganhos dele aí ao longo do tempo para aumentar ali a quantidade Beleza vou apresentar o código aqui então então nós começamos importando essas bibliotecas e o nosso arquivo de loger tá que é esse arquivo aqui eu vou apresentar ele mais paraa frente ele é responsável por montar aquele aquele log ali e a env você precisa criar um arquivo pon env tá eu não vou abrir o meu porque vai mostrar minha binance aqui mas basicamente é só você definir essas duas variáveis lá dentro chamar essa biblioteca Nativa do Python que ele já vai automaticamente importar ela para você aqui no seu código E aí nós temos aqui as configurações que é o código da da moeda o código de operação que no caso a gente tá operando em BRL o período do Canon que a gente quer analisar eu coloquei 15 minutos e a quantidade que são 10 solanas beleza aqui a gente importa o arquivo de logs E aí nós temos a nossa classe principal que é o binance Trader bot eu definir tipi essa variável que ela começa sem uma decisão né seria a última decisão e Aqui nós temos o Construtor se você não sabe o construtor de Python ele também define quais variáveis você precisa dar na hora de iniciar o o seu objeto mas basicamente a gente salva essas variáveis aqui de configuração iniciamos o cliente usando a p Key Secret Key E aí nós já usamos essa função muito interessante que é a função que vai atualizar nossos dados ela vai ser sempre usada antes de fazer qualquer ação no bot então basicamente ela atualiza a conta né Pega os dados da conta vai pegar o último balanço da conta naquela moeda vai identificar Qual que é a nossa posição atual se é vendido ou comprado falso é vendido true é comprado isso vai permear por todo o código tá ele vai buscar os dados do ativo naquele momento essa função é bem importante também para pegar os dados da conta a gente só usa a biblioteca da binance essa biblioteca binance P client para pegar o último nosso último balanço aí nós pegamos os dados que vem daqui identificamos quando que é o stock code a posição atual nessa primeira versão eu fiz uma gambiarra ela identifica se você tiver mais que 0. 001 daquela moeda ele já considera que você tá comprado Tá mas o ideal seria ter isso salvo no banco de dados mas eu ainda não implementei fica pros próximos vídeos Então já se inscreve aí para acompanhar a evolução desse robô que a gente vai deixar isso aqui muito robusto com o tempo tá E olha que interessante por questões de boas práticas de arquitetura o nosso get ele sempre tem que retornar a algo porque você tá querendo buscar algo né get enquanto que essa função por exemplo de update ela não retorna a nada ela já salva direto na nos parâmetros da classe e aqui a gente tem a função que busca os preços Então a gente vai usar Operation code que é o s BR o intervalo que é o que a gente definiu de 15 minutos e o limite aqui eu botei 500 que já é o padrão tá a gente usa o pandas n meio as colunas isso aqui tem tudo lá explicado na AP da da binance para esse modelo de estratégia eu tô usando só o o preço de fechamento e a a hora de abertura aí eu faço uma conversão de UTC certo e aí ele vai retornar os preços que vão ser salvos aqui ó no stock data esses preços vão ser usados no stock data e nós vamos usar Justamente esse stock data no get moving Average trade strategy que é a nossa função que vai Executar a estratégia de trade aqui paraas médias eu defini a janela de 7 e40 intervalos mas é personalizável tá E aí a gente tem a definição da Média móvel rápida e a lenta tá a gente usa essa função Rolling coloca a janela e coloca min que seria a média aloca como menos um porque a gente quer só o último valor ali e aqui tem um ifelse bem básico tá se a média rápida for maior que a que a lenta a gente retorna true que seria compra se a média lenta for maior ela vende e aqui eu faço um print só para saber sempre como tá rolando essa média e a gente retorna né que ao padrão galera olha que legal enquanto eu tava gravando aqui ele acabou de executar ação de venda tá ele executou um pouquinho abaixo um 470 foi mais ou menos a aqui a então a gente teve vamos ver o nosso lucro aqui nessa janela aqui ó Acabou de executar as 19 ele tinha ele tinha entrado às 4 da manhã e saiu às 19 Então vamos ver qual foi o nosso lucro hoje 222 tá um pouquinho abaixo do que eu tinha idealizado ali mas acontece dá essa pernada aqui ó para baixo que o bote ele não sai exatamente aqui né ele sai onde bate aqui no candle então isso acontece aqui no caso ele entrou bem certinho pras versões futuras Eu pretendo implementar melhorias nessa questão para ele tentar sair um pouco antes ou entrar um pouco antes tá usando aqui eu já tava olhando o macd e outros indicadores técnicos Tá mas isso aqui é a versão inicial do bot se você quiser contribuir pode deixar aí nos comentários não se esquece de se inscrever curtir o vídeo para saber que você tá gostando pra gente continuar desenvolvendo esse bote juntos qualquer coisa também me chama lá no Instagram gabrielfreitatitan aí ele executa a Order buy usando api da binance tá client binance e a gente passa o código de operação que é só o BRL o side side buy tipo a mercado tá e a quantidade aquela que a gente definiu lá em cima aí ele define a posição atual como comprado né que seria true cria o log e retorna O Order byy se ocorrer um erro ele também loga um erro vamos dar uma olhadinha nesse log só para dar uma passada rápida é muito simples a gente só define o local do arquivo e cria o log a gente separa aqui os dados isso aqui você tem que ter o log primeiro Mas você pode só copiar que vai funcionar Tá e aqui eu separei a mensagem de log é de print aí eu printo isso e logo é basicamente isso uma função super simples tá a função de vender é a mesma coisa praticamente eu só verifico se a minha posição é comprada faço um s sell A diferença é que a quantidade eu vou definir a quantidade que eu tenho na carteira né porque se eu vender a quantidade que eu comprei não serve de nada eu tenho que vender o que eu ganhei ou se eu tiver um l eu vou ter menos do que a quantidade que eu comprei E aí por uma questão de um bug detalhe da bance que a api dele aceita valores só até a terceira casa decimal por exemplo 10.