# Órdenes de mercado vs órdenes pendientes en una API de MT5

> Una orden de mercado opera ahora; una pendiente espera tu precio en el broker. Cómo se comporta cada una en una API de MT5, con un ejemplo y una tabla.

Publicado el 2026-10-26 por ElWizard para fxapis. Canónica: https://fxapis.com/es/blog/ordenes-de-mercado-vs-ordenes-pendientes-mt5

## En resumen

- Una orden de mercado se ejecuta ahora, al precio disponible. Su resultado es una ejecución, o un rechazo.
- Una orden pendiente espera en el broker hasta que el precio llega a un nivel que tú fijas. Su resultado es una orden en espera, no una posición.
- Una limit espera un precio mejor; una stop espera que el precio rompa un nivel. Las buy limit van por debajo del mercado; las buy stop, por encima.
- Colocar una orden pendiente y que se ejecute son eventos distintos. Trata working y filled como estados diferentes en tu código.

Toda operación en MetaTrader 5 empieza como uno de dos tipos de orden. **Una orden de mercado dice «ahora». Una orden pendiente dice «cuando el precio llegue aquí».** Devuelven resultados distintos, y el código que las trata igual termina diciéndole a alguien que está en una operación en la que no está.

## Un escenario

El EUR/USD cotiza en **1.1000**. Quieres comprar.

- **Comprar ahora.** Envía una orden de mercado. Se ejecuta a alrededor de 1.1000, el precio disponible cuando llega al broker.
- **Comprar si baja a 1.0950.** Envía una **buy limit** pendiente en 1.0950. Espera en el broker y se ejecuta solo si el precio baja hasta ahí.
- **Comprar si rompe por encima de 1.1050.** Envía una **buy stop** pendiente en 1.1050. Espera y se ejecuta solo si el precio sube hasta ahí.

## Lado a lado

| | Orden de mercado | Orden pendiente |
|---|---|---|
| Cuándo se ejecuta | De inmediato | Cuando el precio llega a tu nivel |
| El precio | El del mercado, ahora | Tu nivel (una stop puede pasarse de él en un mercado rápido) |
| Resultado de colocarla | `filled`: existe una posición | `working`: todavía no hay posición |
| Se puede cancelar | No; cierra la posición en su lugar | Sí, hasta que se active |
| Dónde espera | En ningún lado; se ejecuta | En el servidor de trading del broker |
| Endpoint de fxapis | `POST /v1/accounts/{id}/orders/market` | `POST /v1/accounts/{id}/orders/pending` |

## Los tres tipos de pendiente

| Tipo | Una compra espera | Una venta espera | Úsala para |
|---|---|---|---|
| `limit` | Por debajo del mercado | Por encima del mercado | Conseguir un precio mejor |
| `stop` | Por encima del mercado | Por debajo del mercado | Operar una ruptura |
| `stop_limit` | Se activa una stop, que coloca una limit | Igual | Operar una ruptura con un precio tope |

El lado es el error habitual: una buy limit por encima del mercado no es una limit. fxapis rechaza el lado equivocado antes de enviar nada, con un mensaje que nombra la orden que probablemente querías.

## En la API

Una orden de mercado no necesita precio:

```bash
curl -X POST https://api.fxapis.com/v1/accounts/$ACCOUNT_ID/orders/market \
  -H "Authorization: Bearer $FXAPIS_KEY" -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{ "symbol": "EURUSD", "side": "buy", "volume": "0.10" }'
```

Una orden pendiente indica su tipo y su precio:

```bash
curl -X POST https://api.fxapis.com/v1/accounts/$ACCOUNT_ID/orders/pending \
  -H "Authorization: Bearer $FXAPIS_KEY" -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{ "symbol": "EURUSD", "side": "buy", "kind": "limit", "volume": "0.10", "price": "1.0950" }'
```

Las dos aceptan stop loss y take profit como precios absolutos, y las dos deberían llevar una clave de idempotencia.

## Working no es filled

Una orden pendiente colocada vuelve como `working`. Eso significa que está esperando en el broker: **no existe ninguna posición**. Algunos brokers responden a una orden pendiente con el mismo código de retorno que a una ejecución; fxapis la lee como working, no como filled, para que tu código no informe una operación que no ha ocurrido.

Cuando se activa, aparece una posición en `GET /v1/accounts/{id}/positions`. Para anularla antes, `POST /v1/orders/{id}/cancel`. Si ya se activó, la cancelación se rechaza: ahora hay una posición, y lo que quieres es cerrarla.

## Cuál usar

- **Las señales y el copy trading** suelen querer órdenes de mercado: la idea es actuar sobre la señal ahora, en cada cuenta.
- **Las entradas en un nivel** (un retroceso, una ruptura) quieren órdenes pendientes, que esperan en el broker aunque tus propios sistemas estén apagados.

Las órdenes pendientes están incluidas en todos los planes de fxapis (Personal, Production, Business y Enterprise) y en la prueba gratuita de 14 días de Personal, Production y Business. Mira [precios](https://fxapis.com/pricing).

## Próximos pasos

- [Órdenes pendientes en la guía de trading](https://docs.fxapis.com/es/trading#pending-orders): cada tipo, sus estados y cómo cancelarlas.
- [Por qué una operación en MT5 puede fallar](https://fxapis.com/es/blog/por-que-mt5-rechaza-tu-orden): qué te dice un rechazo.

## Preguntas

### ¿Cuál es la diferencia entre una orden de mercado y una orden pendiente en MT5?

Una orden de mercado se ejecuta de inmediato al precio actual. Una orden pendiente es una instrucción guardada en el broker para comprar o vender cuando el precio llegue a un nivel que tú eliges; hasta entonces no existe ninguna posición.

### ¿Una orden pendiente necesita que mi terminal esté encendido?

No. Las órdenes pendientes las guarda el servidor de trading del broker y se activan ahí, haya o no un terminal conectado.

### ¿Qué es una buy stop limit?

Una orden que espera a que el precio suba hasta un nivel stop y entonces coloca una buy limit a un segundo precio. Se usa para entrar en una ruptura sin pagar cualquier precio después de la ruptura.

### ¿Qué planes de fxapis incluyen órdenes pendientes?

Todos: Personal, Production, Business y Enterprise. Personal, Production y Business empiezan con una prueba gratuita de 14 días de ese plan en cuentas demo (hasta 5), sin tarjeta; Enterprise se cotiza contigo.
