Skip to main content
POST /api/v1/orders/market requiere permiso de trading, cuenta verificada y Idempotency-Key. Envía side: "buy" o side: "sell".

Solicitud recomendada

volume sigue en unidades MT5: 100 = 0.01 lotes, 1000 = 0.10 lotes y 10000 = 1 lote. No envíes 0.01 en volume. No hay conversión desde lotes ni un campo volume_lots en este contrato.

Precio y decimales automáticos

Omite price y digits. El backend consulta los datos de la cuenta y la configuración efectiva del símbolo, valida volumen y permisos de apertura y obtiene la cotización correspondiente. Usa Ask para compra y Bid para venta. Los decimales proceden del símbolo. Esta información interna no se devuelve. Aunque el partner no envía precio, la solicitud Dealer sí incluye PriceOrder y Digits. No se garantiza que el precio final ejecutado sea idéntico a la cotización. El modo automático exige una cotización con antigüedad máxima de 60 segundos por defecto, configurable por el operador; vuelve a comprobar su vigencia antes del envío. Cotizaciones ausentes o inválidas producen 502; vencidas, 503. Las aperturas a mercado y los cierres seleccionan automáticamente la política de llenado según el símbolo efectivo para el grupo de la cuenta. Se prefiere FOK; si no está disponible, se utiliza IOC cuando esté permitido. Request/Instant permiten FOK independientemente de los flags. Market/Exchange respetan los flags FOK/IOC del símbolo; si ninguno está permitido, se devuelve 422 antes del envío. FOK ejecuta todo el volumen o cancela. IOC puede ejecutar un volumen menor y cancela el resto. Una solicitud aceptada no confirma una ejecución completa: consulta el resultado de ejecución y las posiciones para conocer el volumen real. Un cierre puede dejar parte de la posición abierta. La API no reenvía el volumen restante ni reintenta con otra política. La misma clave de idempotencia devuelve la respuesta original del envío. La política elegida queda en los logs de auditoría. También se aplica cuando se envían los campos antiguos price y digits. Las órdenes pendientes mantienen RETURN, según las reglas de MT5.

Compatibilidad

Las integraciones anteriores pueden seguir enviando ambos campos price y digits, marcados como obsoletos. Conservan el comportamiento explícito anterior: la API utiliza esos valores y no consulta automáticamente la cotización. Sí consulta el símbolo efectivo para seleccionar FOK/IOC. Enviar solo uno produce 422. Para adoptar el modo automático, omite ambos. Los cierres aceptan solo login y volumen/comentario opcionales; el servidor calcula los demás parámetros.

Envío y resultado

Guarda el cuerpo en apertura.json y conserva una clave única por intención.
Guarda answer.id o answer.ID y consulta el resultado. retcode: "0 Done" confirma recepción, no ejecución. Un reintento con la misma clave y cuerpo devuelve el resultado guardado sin volver a cotizar ni operar; un cambio en el cuerpo produce 409. Ante un error después de reservar la clave, consulta idempotencia y recuperación. Para limit, stop y stop-limit utiliza órdenes pendientes.