GET /api/v1/accounts/{login}/deals consulta el historial de la cuenta verificada.
Está publicado en /openapi/partners.json, bajo el mismo prefijo /api/v1.
Es una consulta de lectura y no requiere Idempotency-Key ni trading habilitado.
Permisos y parámetros
El token debe tenerGET:/api/v1/accounts/*/deals o un permiso que lo cubra,
como GET:/api/v1/accounts/*. Los tokens con ese permiso general ya cubren esta
ruta. La cuenta debe tener una verificación vigente con el mismo token.
No envíes milisegundos ni fechas de texto. Los timestamps admitidos van de
0
a 253402300799. Mantén from y to fijos mientras recorres las páginas.
Campos y resultado
La respuesta conservaretcode y answer, una lista de deals. Una lista vacía
es una consulta correcta sin registros en esa página. Los números pueden venir
como cadenas; conserva su precisión y utiliza aritmética decimal para importes.
Storage es el campo de swap de esta API. Un campo omitido o null significa
que no fue informado; no equivale a cero. Se conservan los ceros explícitos.
Cierres y resultado por posición
La ruta devuelve todos los deals del período, incluidas aperturas, cierres y movimientos de saldo. Para deals de compra/venta (Action 0/1), Entry distingue:
Cuando los cuatro importes están disponibles, el neto contabilizado de un deal es
Profit + Storage + Commission + Fee, respetando los signos originales.
Para el neto completo de una posición, reúne todos sus deals por PositionID,
incluidas las entradas, pues pueden llevar comisión. Si la apertura ocurrió antes
de from, amplía la consulta: un rango parcial no representa el resultado completo.
Una salida no demuestra por sí sola que toda la posición esté cerrada. Considera
cierres parciales y reversiones y consulta posiciones abiertas si necesitas su estado
actual. Los cargos diarios/mensuales o movimientos con PositionID=0 pueden no
atribuirse a una posición; no los repartas ni los sumes a cada posición automáticamente.
La ruta no inventa una asignación ni calcula un resultado neto por posición.
Paginación
Suma la cantidad recibida aoffset. Termina al recibir una página vacía o con
menos registros que total. Si la página está llena, solicita la siguiente.
El historial puede cambiar por nuevas operaciones o correcciones: no es una
instantánea bloqueada. Deduplica por Deal al sincronizar y vuelve a conciliar
los períodos que puedan recibir correcciones. No presupongas un orden distinto
del que entrega MT5.
client es una instancia autenticada del cliente Python entregado. Un 401
indica token inválido; 403, falta de permiso o verificación; 422, parámetros
inválidos. Un 502/503 no debe interpretarse como historial vacío.
Referencia de conceptos: propiedades de deals de MetaQuotes.
