> ## Documentation Index
> Fetch the complete documentation index at: https://api-trading-docs.vexprofx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cuenta, posiciones y órdenes

> Consulta el estado de una cuenta verificada y recorre resultados paginados.

Todas estas rutas requieren token, permiso de lectura y verificación vigente del login.
No sustituyen una consulta al resultado de ejecución de una solicitud.

## Datos de cuenta

`GET /api/v1/accounts/{login}` devuelve únicamente `retcode` y `answer`.
Dentro de `answer` solo se permiten `Login`, `Registration`, `LastAccess`, `Name`,
`FirstName`, `Balance` y `Credit`. Los demás campos de MT5 se excluyen.

Ejemplo de respuesta exitosa:

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "retcode": "0 Done",
  "answer": {
    "Login": "104205",
    "Registration": "1765252647",
    "LastAccess": "1790786983",
    "Name": "test edit",
    "FirstName": "test edit",
    "Balance": "258531.44",
    "Credit": "0.00"
  }
}
```

Se conservan los valores y tipos recibidos de MT5. Si falta un campo permitido,
se omite; no se inventan valores. `Registration` y `LastAccess` representan fechas
Unix en segundos. Esta lista de campos aplica solo a la consulta de cuenta;
los errores conservan el formato descrito en [Errores](/es/errors).

## Posiciones abiertas

`GET /api/v1/accounts/{login}/positions` devuelve la página de posiciones.

La respuesta exitosa contiene únicamente `retcode` y un arreglo `answer`.
Cada posición permite solo estos campos: `Position`, `Symbol`, `Action`, `TimeCreate`, `PriceOpen`, `PriceCurrent`, `PriceSL`, `PriceTP`, `Volume`, `Profit`, `Storage`.

Los campos adicionales de MT5 se excluyen. Se conservan los valores y tipos
recibidos; los campos ausentes se omiten. Sin posiciones, `answer` es `[]`.
`TimeCreate` y `TimeUpdate` son fechas Unix en segundos; sus variantes `Msc`
usan milisegundos. Los errores mantienen su formato habitual.

| Parámetro | Predeterminado | Límite |
| - | - | - |
| `offset` | `0` | Entero mayor o igual a 0 |
| `total` | `100` | Entero entre 1 y 1000 |

Conserva el ticket `Position`, el propietario `Login`, `Symbol`, `Action` y `Volume`
para preparar un cierre. El ticket no es el ID devuelto al enviar una orden.

`GET /api/v1/accounts/{login}/positions/count` consulta el número de posiciones abiertas.
Su resultado corresponde al momento de la consulta y puede cambiar antes de leer una página.

## Órdenes activas

La respuesta exitosa contiene únicamente `retcode` y un arreglo `answer`.
Cada orden permite solo estos campos: `Order`, `Symbol`, `State`, `Type`, `TimeSetup`, `TimeExpiration`, `TypeTime`, `PriceOrder`, `PriceTrigger`, `PriceCurrent`, `PriceSL`, `PriceTP`, `VolumeInitial`, `VolumeCurrent`.

Los campos adicionales de MT5 se excluyen. Se conservan los valores y tipos
recibidos; los campos ausentes se omiten. Sin órdenes, `answer` es `[]`.
Los campos de tiempo usan segundos Unix y las variantes `Msc`, milisegundos;
los valores `0` recibidos se conservan. Los errores mantienen su formato habitual.

`GET /api/v1/accounts/{login}/orders` consulta las órdenes activas de MT5.
Admite `offset` desde 0 y `total` entre 1 y 100, con 100 por defecto.
No es un histórico de ejecuciones. Una orden de mercado ya ejecutada no tiene por qué
permanecer en esta lista. El portal no expone modificación ni cancelación de órdenes.

## Recorrer todas las páginas

1. Empieza con `offset=0` y un `total` dentro del límite de la ruta.
2. Procesa el arreglo de `answer` de la respuesta MT5.
3. Si contiene menos elementos que `total`, termina.
4. Si la página está completa, incrementa `offset` en `total` y consulta otra página.
5. Aplica un límite defensivo de páginas y respeta la frecuencia permitida.

Las páginas no son una instantánea transaccional. Si hay operaciones simultáneas,
reconcilia cambios por ticket y vuelve a consultar cuando sea necesario.

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl --fail-with-body "$API_BASE/api/v1/accounts/123456" \
  -H "Authorization: Bearer $MT5_API_TOKEN"
curl --fail-with-body "$API_BASE/api/v1/accounts/123456/positions?offset=0&total=1000" \
  -H "Authorization: Bearer $MT5_API_TOKEN"
curl --fail-with-body "$API_BASE/api/v1/accounts/123456/positions/count" \
  -H "Authorization: Bearer $MT5_API_TOKEN"
curl --fail-with-body "$API_BASE/api/v1/accounts/123456/orders?offset=0&total=100" \
  -H "Authorization: Bearer $MT5_API_TOKEN"
```

No supongas un esquema de histórico, saldo o ejecución que no esté documentado.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.