Tutorial de bot de trading de cripto em Node.js (2026): construa e teste um de graça com JavaScript
Prefere JavaScript a Python? Você pode construir um bot de trading de cripto completo em Node.js com a mesma facilidade — e testá-lo com preços reais ao vivo e dinheiro fictício, grátis, sem depósito. Aqui está um bot completo, funcionando, com zero dependências npm. (Apenas educacional — não é recomendação financeira.)
O que você vai construir
Um bot de momentum: ele observa uma moeda, abre um long pequeno quando a tendência de curto prazo vira para cima e fecha quando vira para baixo. Toda ordem vai para uma API de paper trading que executa ao preço real ao vivo e simula alavancagem, stop-loss, take-profit e liquidação — então um bug não custa nada.
Passo 1 — pegue uma chave de API grátis
Acesse a API de trading da MarginPad, entre com um e-mail (sem senha, sem KYC) e gere a sua chave. Os endpoints de preço e de candles não exigem chave, então nada impede você de testar a conexão primeiro.
Passo 2 — feed de preços & estratégia (sem dependências)
O Node 18+ já traz fetch embutido. Busque candles e calcule um sinal de cruzamento de EMA:
const API = "https://marginpad.io/api/bot";
const KEY = "YOUR_KEY";
const H = { "X-API-Key": KEY, "content-type": "application/json" };
const price = async (s="BTC") =>
(await (await fetch(`${API}/v1/price?symbol=${s}`)).json()).price;
const closes = async (s="BTC", interval="60", n=50) => {
const k = await (await fetch(`${API}/v1/klines?symbol=${s}&interval=${interval}`)).json();
return k.slice(-n).map(c => c.close);
};
const ema = (v, p) => { const k = 2/(p+1); return v.reduce((e,x)=>x*k+e*(1-k), v[0]); };
const signal = async (s="BTC") => {
const c = await closes(s);
return ema(c.slice(-9), 9) > ema(c.slice(-21), 21) ? "long" : "flat";
};
Passo 3 — abrir, fechar & o loop
const openLong = async (s="BTC", usd=50, lev=10) => {
const p = await price(s);
return (await fetch(`${API}/v1/open`, { method:"POST", headers:H, body: JSON.stringify({
symbol:s, side:"long", margin_usd:usd, leverage:lev, sl:p*0.97, tp:p*1.06 }) })).json();
};
const closeAll = async () => (await fetch(`${API}/v1/close_all`, { method:"POST", headers:H })).json();
const positions = async () => (await fetch(`${API}/v1/positions`, { headers:H })).json();
let state = "flat";
setInterval(async () => {
const sig = await signal("BTC");
if (sig === "long" && state === "flat") { console.log("open", await openLong()); state = "long"; }
else if (sig === "flat" && state === "long") { console.log("close", await closeAll()); state = "flat"; }
const pos = (await positions()).positions || [];
const pnl = pos.reduce((a,p) => a + (p.unrealized_pnl_usd||0), 0);
console.log(`signal=${sig} open=${pos.length} uPnL=$${pnl.toFixed(2)}`);
}, 60000);
Esse é um bot de trading de cripto completo em JavaScript — e ele nunca toca em dinheiro real. As posições são liquidadas exatamente como em uma corretora real, e SL/TP são executados automaticamente.
Passo 4 — meça, depois decida
Deixe rodar em diferentes condições de mercado, consulte GET /v1/account para ver a taxa de acerto e o P&L realizado, e revise os resultados no Trading Journal. Compare com um backtest simples; só financie uma conta real quando o bot de papel se provar. Para o fluxo completo, veja como testar um bot de trading de cripto e a versão em Python, se quiser ter as duas.
Uma API REST de paper trading grátis com preços reais ao vivo — alavancagem, simulação de SL/TP e liquidação. Funciona com qualquer linguagem. Pegue uma chave em 30 segundos.
Pegue sua chave de API grátis →Ler sobre o assunto leva você só até certo ponto. Treine de graça no nosso terminal e, quando fizer sentido, leve para um livro de ordens real.
Links de afiliado. Ganhamos uma comissão se você criar uma conta; você paga o mesmo de qualquer forma.
Comentários