Executando verificação de segurança...
1

Criando um bot de arbitragem para corretora brasileira

Introdução

Esse projeto nasceu da necessidade de verificar se havia oportunidades de arbitragem em uma corretora brasileira, a BitPreço.

Com a publicação da API de negociação da corretora supra, disponível no link https://bitpreco.com/api, resolvi criar este robô para monitorar os preços de compra e venda do book de ofertas, a exemplo do que já acontecia com a corretora Biscoint, comprada recentemente pela corretora citada acima, e que já havia uma implementação para esse tipo de estratégia, conforme repositório do github disponivel em https://github.com/itxtoledo/biscoint-bot.

Estrutura do projeto e tecnologias

A tecnologia utilizada foi NodeJS, com algumas bibliotecas para integração com Telegram,deploy na DigitalOcean, em Docker ou usando o PM2.

Arquivos

  • api.js - contem as chamadas da API.
  • index.js - código principal com as funções que monitoram o book de ofertas da corretora e faz a execução de compra/venda da estratégia definida.
  • .env.example - arquivo com as variáveis de configuração do robô

Como funciona?

O robô verifica a existência de oportunidades de arbitragem e tenta executá-las.

A Bitpreço conecta você a várias corretoras. É normal que durante movimentos naturais do mercado o preço de compra em uma corretora seja mais barato que o preço de venda em outra, gerando assim uma oportunidade de fazer o que chamamos de arbitragem.

Arbitragem é a ação de comprar mais barato em uma corretora e vender mais caro em outra. Descontando as taxas essa movimentação, deve resultar em lucro para o operador.

Tendo em vista a facilidade em se conectar a várias corretoras e utilizando a API de negociações da Bitpreço, escrevi esse código para exemplificar o uso em NodeJS.

Configuração das variáveis

Copiar o arquivo .env.example e gerar o .env:

  • IGNATURE: gerado na corretora bitpreço
  • API_KEY: gerado na corretora bitpreço
  • TEST: true ou false. Modo simulação: true
  • TEST_SIGNATURE: gerado na corretora bitpreço (https://simulador.bitpreco.com/)
  • TEST_API_KEY: gerado na corretora bitpreço (https://simulador.bitpreco.com/)
  • MARKET: Os mercados disponníveis são: BTC-BRL | ETH-BRL | USDT-BRL
  • BOT_CHAT: código do chat do Telegram
  • BOT_TOKEN: https://t.me/BotFather
  • AMOUNT: valor em BRL
  • INITIAL_DEPOSIT: depósito inicial feito na corretora
  • INITIAL_DATE: data inicial de execução do bot
  • INITIAL_SELL: informe true para que o robô execute primeiro venda e depois compra, false para que execute primeiro compra e depois venda. Se o seu saldo está em reais, use false, se esta em BTC ou ETH, use true.
  • MIN_PROFIT_PERCENT: Informe o lucro mínimo potencial, em percentual, para que o robô tente executar a arbitragem. Valor padrão: 0.6%
  • DIFFERENCE_LOGGER: exibir o log na tela

Instalação

  • preencher os dados do .env
  • instalar com o comando npm i
  • executar com o comando npm start

mais informações em https://github.com/lagoanova/bitPreco-trading-arbitrage#instala%C3%A7%C3%A3o

Carregando publicação patrocinada...