Construir con fxapis

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.

3 min de lecturaRead in English
En esta página
  1. Configúralo una vez
  2. El inicio rápido
  3. Click-to-trade para proveedores de señales
  4. El copiador de operaciones
  5. Las reglas que sigue cada ejemplo
  6. Adónde ir después

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.

AspectPythonNode.js / TypeScriptcurl
Inicio rápidopython/quickstart.pynode/quickstart.tscurl/quickstart.sh
Click-to-tradepython/click_to_trade.pynode/click-to-trade.tscurl/click-to-trade.sh
Copiadorpython/copy_trader.pynode/copy-trader.tscurl/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

  1. Crea una API key en la consola.
  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 ayuda si tienes dudas.
  3. Clona el repositorio, copia .env.example a .env, complétalo y expórtalo.
cURL
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:

cURL
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/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 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-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

— Arquitecto de software e ingeniero de IA con más de 15 años construyendo y escalando sistemas de software. Diseña y construye software y sistemas de IA listos para producción, y escribe sobre cómo se hacen.

elwizard.netGitHubInstagram

FAQ

Preguntas frecuentes

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

Todo en este tema
Construir con fxapis

Plantillas de n8n y Postman para la API de MT5

Explora la API de MT5 de fxapis en Postman y automatiza operaciones de MT5 con flujos de n8n: plantillas listas en fxapis-integrations, primero en demo.

2 min de lectura
> Connect. Execute. Scale.

Opera MT5 desde tu propio código.

Conecta cuentas con login, contraseña y servidor, y coloca órdenes por HTTPS. Nosotros ejecutamos MetaTrader 5; tú no instalas nada.