Tutorial de bot de trading cripto en Node.js (2026): créalo y pruébalo gratis con JavaScript - MarginPad
MARGINPAD
Inicio / Blog / Bot de trading en Node.js

Tutorial de bot de trading cripto en Node.js (2026): crea y pruébalo gratis con JavaScript

Guías · 7 min de lectura · Actualizado en junio de 2026

¿Prefieres JavaScript antes que Python? Puedes crear un bot de trading cripto completo en Node.js con la misma facilidad - y probarlo con precios reales en vivo y dinero simulado, gratis, sin depósito. Aquí tienes un bot completo y funcional, sin dependencias de npm. (Solo con fines educativos, no es asesoría financiera.)

Qué vas a construir

Un bot de momentum: vigila una moneda, abre un long pequeño cuando la tendencia de corto plazo gira al alza, y cierra cuando gira a la baja. Cada orden llega a una API de paper trading que se ejecuta al precio real en vivo y simula apalancamiento, stop-loss, take-profit y liquidación - así un fallo de código no cuesta nada.

Paso 1 - consigue una clave API gratis

Entra en la API de trading de MarginPad, inicia sesión con un correo (sin contraseña, sin KYC) y genera tu clave. Los endpoints de precio y velas no necesitan clave, así que nada te impide probar primero la conexión.

Paso 2 - feed de precios y estrategia (sin dependencias)

Node 18+ trae fetch integrado. Descarga velas y calcula una señal de cruce 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";
};

Paso 3 - abrir, cerrar y el bucle

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);

Eso es un bot de trading cripto completo en JavaScript - y nunca toca dinero real. Las posiciones se liquidan exactamente igual que en un exchange real, y el SL/TP se ejecutan automáticamente.

Paso 4 - mide, luego decide

Déjalo correr en distintas condiciones de mercado, revisa GET /v1/account para la tasa de acierto y el P&L realizado, y analiza los resultados en el Diario de trading. Compáralo con un backtest simple; solo financia una cuenta real una vez que el bot en simulado se haya demostrado. Para el flujo completo mira cómo probar un bot de trading cripto, y la versión en Python si quieres las dos.

PRUEBA TU BOT GRATIS

Una API REST de paper trading gratis con precios reales en vivo - simulación de apalancamiento, SL/TP y liquidación. Funciona con cualquier lenguaje. Consigue una clave en 30 segundos.

Obtén tu clave API gratis →
PONLO EN PRÁCTICA

Leer sobre esto solo te lleva hasta cierto punto. Practícalo gratis en nuestra terminal, y llévalo a una cuenta real una vez que lo entiendas del todo.

Enlaces de afiliado. Ganamos una comisión si te registras; tú pagas lo mismo de cualquier forma.

Comentarios