Descubra Como Obter Preços Históricos de Criptomoedas na Binance Usando JavaScript
No mundo das criptomoedas, o acompanhamento de preços históricos é crucial, principalmente para investidores que desejam tomar decisões embasadas e cumprir com a documentação necessária para o Imposto de Renda. Neste guia, vamos explorar como você pode utilizar a API da Binance para acessar e recuperar esses dados utilizando JavaScript. Vamos começar!
Introdução
As plataformas de negociação de criptomoedas, como a Binance, oferecem uma vasta gama de ferramentas que facilitam a automação de operações. Contudo, para aqueles que operam com robôs de criptomoedas, é fundamental ter acesso a cotações históricas, que podem afetar não apenas as estratégias de compra e venda, mas também as obrigações fiscais. Aqui, você aprenderá a configurar um projeto em Node.js e a utilizar a API da Binance para obter preços históricos de criptomoedas.

Descubra Como Obter Preços Históricos de Criptomoedas na Binance Usando JavaScript
1. Configurando o Projeto
Antes de começarmos a codificação, é importante preparar o ambiente. Neste tutorial, utilizaremos o Node.js, que deve ser instalado em sua máquina. Se você ainda não tem o Node.js configurado, verifique tutoriais disponíveis para instalação.
Passos para Inicialização
- Crie uma Pasta: Nomeie-a como
binance-historic-price
. - Inicialize o Projeto: Navegue até a pasta pelo terminal e execute o seguinte comando:
npm init -y
- Instale Axios: Este pacote facilitará a realização de chamadas HTTP para a API. Execute:
npm install axios
- Crie o Arquivo Principal: Insira um arquivo chamado
index.js
e prepare seu projeto para execução.
const axios = require("axios");
const readline = require("readline/promises");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
terminal: false
});
Com isso, seu projeto está inicializado, e você já pode interagir com ele via terminal.
2. Coletando Informações Essenciais
Agora, vamos criar uma função que permitirá ao usuário inserir dados necessários para a consulta de preços históricos. Precisaremos do par de criptomoedas, da moeda fiduciária e da data.
Exemplo de Código para Coleta de Dados
async function start() {
console.clear();
let symbol = await rl.question("Informe o par de moeda (Ex: BTCUSDT): ");
symbol = symbol.toUpperCase();
let fiat = await rl.question("Informe sua moeda fiat (Ex: BRL): ");
fiat = fiat.toUpperCase();
let date = await rl.question("Informe a data (yyyy-mm-dd): ");
if (!/\d{4}-\d{2}-\d{2}/.test(date)) {
console.error("Data inválida, o formato é yyyy-mm-dd!");
process.exit(0);
}
const timestamp = Date.parse(date);
console.clear();
console.log(`Preço para ${symbol} em ${new Date(timestamp)}: `);
}
Com essa função, o usuário será convidado a inserir os dados necessários. Agora, precisamos acessar os pares de moedas disponíveis na Binance.
Coletando Todos os Símbolos
let allSymbols = {};
async function loadAllSymbols() {
const { data } = await axios.get(`https://api.binance.com/api/v3/exchangeInfo`);
for (let i = 0; i < data.symbols.length; i++) {
const symbolObj = data.symbols[i];
allSymbols[symbolObj.symbol] = { base: symbolObj.baseAsset, quote: symbolObj.quoteAsset };
}
}
Esta função acessa a API da Binance para coletar informações sobre todos os pares de moedas.
3. Obtendo o Preço Original
Para cumprir com a necessidade de análise de preços, precisamos acessar os dados históricos e obter tanto o preço original quanto o preço convertido em moeda fiduciária.
Exemplo de Função para Obter Preço
async function getSymbolQuotation(symbol, timestamp) {
console.log("Carregando cotação para " + symbol);
const { data } = await axios.get(`https://api.binance.com/api/v3/klines?symbol=${symbol}&interval=1d&limit=1&startTime=${timestamp}`);
return {
time: data[0][0],
price: parseFloat(data[0][4])
};
}
Esta função retorna o preço de fechamento do par de moedas no dia específico solicitado.
Implementação na Função Principal
Após carregar os símbolos, podemos chamar a função para obter a cotação.
try {
await loadAllSymbols();
const symbolObj = allSymbols[symbol];
const cryptoQuotation = await getSymbolQuotation(symbol, timestamp);
console.log(`${symbolObj.quote} ${cryptoQuotation.price}`);
} catch (err) {
console.error(err.response ? err.response.data : err);
}
Conclusão
Agora você possui um projeto funcional que permite acessar os preços históricos de criptomoedas na Binance utilizando JavaScript. Este conhecimento pode ser expandido e adaptado para diversas funções e aplicações, como robôs de trading e relatórios financeiros. Não deixe de comentar abaixo suas experiências ou dúvidas, e compartilhe este tutorial com outros entusiastas de criptomoedas!