Ejemplos ejecutables de la API de MT5 en Python, Node.js y curl
Tres ejemplos de fxapis listos para correr (inicio rápido, click-to-trade para señales y un copiador) en Python, Node.js y curl, en una cuenta demo.
En esta página
La forma más rápida de ver cómo se comporta la API de MetaTrader 5 de fxapis es correrla. fxapis-examples tiene tres programas pequeños, cada uno en Python, Node.js/TypeScript y curl, que corren contra una cuenta demo real de un broker: un inicio rápido, click-to-trade para proveedores de señales y un copiador de operaciones.
| Aspect | Python | Node.js / TypeScript | curl |
|---|---|---|---|
| Inicio rápido | python/quickstart.py | node/quickstart.ts | curl/quickstart.sh |
| Click-to-trade | python/click_to_trade.py | node/click-to-trade.ts | curl/click-to-trade.sh |
| Copiador | python/copy_trader.py | node/copy-trader.ts | curl/multi-account-order.sh |
Las versiones de Python y Node.js usan los SDK oficiales (Python, TypeScript); las de curl muestran las solicitudes HTTP directas, lo que sirve cuando llamas a la API desde otro lenguaje.
Configúralo una vez
- Crea una API key en la consola.
- Abre una cuenta demo de MT5 con cualquier broker (Exness, IC Markets, Pepperstone, XM u otro) y anota su login, su contraseña de trading y el nombre del servidor, exactamente como lo muestra MetaTrader. Conectar cuentas ayuda si tienes dudas.
- Clona el repositorio, copia
.env.examplea.env, complétalo y expórtalo.
git clone https://github.com/FXapis/fxapis-examples.git && cd fxapis-examples
cp .env.example .env # your key, login, password and server
set -a; . ./.env; set +a
Luego elige un lenguaje:
cd python && pip install -r requirements.txt && python quickstart.py
cd node && npm install && node quickstart.ts # Node 22.18+ runs TypeScript directly
cd curl && ./quickstart.sh # needs curl and jq
El inicio rápido
Conecta la cuenta en modo warm_on_demand, la pone en línea y consulta su estado hasta ready (unos diez segundos con un broker típico), luego lee la cuenta y un cálculo de margen, coloca una orden de mercado de 0.01 lotes y cierra la posición que abrió. Es el ciclo completo en un archivo, y el mejor lugar para empezar a leer.
Click-to-trade para proveedores de señales
Para una app donde cada miembro aprueba una señal con un toque, en su propia cuenta de MT5, el ejemplo sigue el patrón de la guía de señales (en inglés):
- Revisa las credenciales cuando el miembro se conecta, poniendo la cuenta en línea de inmediato: una contraseña equivocada se detecta en la pantalla de conexión, no en la primera operación.
- Prepara al ver. Cuando un miembro abre una señal,
POST /v1/accounts/preparepone su cuenta en línea, así que para cuando toca aprobar, la orden pasa directo. - Una orden por señal y miembro. La clave de idempotencia es el id de la señal más el id del miembro, así que un doble toque o un reintento devuelve la primera respuesta y nunca abre una segunda posición.
- Maneja cada resultado: ejecutada, rechazada (muestra el motivo), sin resolver (nunca la reenvíes; consulta la orden) y no enviada (reintenta con la misma clave).
El copiador de operaciones
El copiador vigila una cuenta maestra y replica sus operaciones en las seguidoras. Hace polling, así que corre sin un servidor público; en un servidor, los webhooks position.opened y position.closed pueden reemplazar el ciclo (en inglés). En cada pasada sincroniza la maestra, lee sus deals nuevos y envía cada deal de apertura a todas las seguidoras como una sola orden multicuenta, con el id del deal maestro en la clave de idempotencia para que un reinicio nunca copie un deal dos veces. Cuando la maestra cierra, se cierran las copias de las seguidoras. Es pequeño a propósito (compras, ventas y cierres completos) como punto de partida, y la guía de copy trading va más allá (en inglés).
Las reglas que sigue cada ejemplo
- Un
Idempotency-Keyen cada orden y cada cierre. ORDER_UNRESOLVEDnunca se reenvía;SEND_FAILEDyACCOUNT_NOT_READYse reenvían con la misma clave.- Los volúmenes y los precios son strings, y los stops son precios absolutos.
- La API key se queda en el backend.
Adónde ir después
- SDKs y ejemplos y el inicio rápido en la documentación.
- Órdenes multicuenta para todo lo que puede hacer el reparto del copiador: volúmenes por cuenta, horas de liberación y políticas de barrera (en inglés).
- El starter de Next.js cuando quieras una app que funcione en lugar de un script.
- Conecta Claude y ChatGPT a MetaTrader 5 cuando quieras que un asistente o agente de IA llame a la API por ti.