# 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.

Publicado el 2026-10-26 por ElWizard para fxapis. Canónica: https://fxapis.com/es/blog/ejemplos-de-api-de-mt5-en-python-nodejs-y-curl

## En resumen

- fxapis-examples son tres programas (un inicio rápido, click-to-trade y un copiador de operaciones), cada uno en Python, Node.js/TypeScript y curl.
- Cada ejemplo corre contra una cuenta demo de un broker con una API key y un archivo .env; nada es simulado.
- Click-to-trade muestra el patrón del proveedor de señales: preparar la cuenta cuando un miembro abre la señal, y luego una orden con clave cuando la aprueba.
- El copiador consulta los deals de una cuenta maestra y replica cada uno en todas las seguidoras con una sola orden multicuenta.

La forma más rápida de ver cómo se comporta la API de MetaTrader 5 de fxapis es correrla. [fxapis-examples](https://github.com/FXapis/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.

| | 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](https://fxapis.com/es/blog/api-de-mt5-para-python-sdk-de-fxapis), [TypeScript](https://fxapis.com/es/blog/api-de-mt5-para-nodejs-sdk-de-typescript)); las de curl muestran las solicitudes HTTP directas, lo que sirve cuando llamas a la API desde otro lenguaje.

## Configúralo una vez

1. Crea una API key en la [consola](https://fxapis.com/dashboard/keys).
2. 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](https://docs.fxapis.com/es/guides/connect-accounts) ayuda si tienes dudas.
3. Clona el repositorio, copia `.env.example` a `.env`, complétalo y expórtalo.

```bash
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:

```bash
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](https://docs.fxapis.com/signals) (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/prepare` pone 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](https://docs.fxapis.com/guides/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](https://docs.fxapis.com/guides/copy-trading) va más allá (en inglés).

## Las reglas que sigue cada ejemplo

- Un `Idempotency-Key` en cada orden y cada cierre.
- `ORDER_UNRESOLVED` nunca se reenvía; `SEND_FAILED` y `ACCOUNT_NOT_READY` se 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](https://docs.fxapis.com/es/sdks) y el [inicio rápido](https://docs.fxapis.com/es/quickstart) en la documentación.
- [Órdenes multicuenta](https://docs.fxapis.com/guides/multi-account-orders) 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](https://fxapis.com/es/blog/panel-de-trading-mt5-con-nextjs) cuando quieras una app que funcione en lugar de un script.
- [Conecta Claude y ChatGPT a MetaTrader 5](https://fxapis.com/es/blog/conectar-claude-y-chatgpt-a-metatrader-5-mcp) cuando quieras que un asistente o agente de IA llame a la API por ti.

## Preguntas

### ¿Los ejemplos colocan órdenes reales?

Sí, en la cuenta que conectes. Toda clave de fxapis llega a un broker real, así que córrelos contra una cuenta demo de un broker.

### ¿Qué lenguajes cubren?

Python y Node.js/TypeScript con los SDK oficiales, y curl con jq para las solicitudes HTTP directas.

### ¿El copiador de operaciones está listo para producción?

No, a propósito: copia compras, ventas y cierres completos, y guarda su estado en un archivo. Es un punto de partida que muestra el patrón: consultar deals, una orden multicuenta por deal maestro y claves por deal.
