MetaTrader, EAs y VPS

Órdenes, deals y posiciones en MT5: por qué no son lo mismo

En MT5, "orden", "deal" y "posición" son tres objetos distintos, no tres palabras para lo mismo. Los traders que vienen de MT4 los mezclan y luego se preguntan por qué su recuento de operaciones está mal, su histórico no cuadra y su EA cuenta la misma operación dos veces. Entender bien el modelo de datos es la diferencia entre unos informes que cuadran y unos informes que mienten en silencio.

Tres objetos, tres vidas

MT5 separa la intención de operar, el evento de operar y el resultado de operar:

  • Orden (order) — una instrucción de comprar o vender: una orden a mercado, o una orden pendiente como un buy limit. Una orden es una petición. Vive hasta que se ejecuta, caduca o se cancela. Todavía no es una operación.
  • Deal — la ejecución de una orden: el llenado real que mueve dinero. Un deal es un hecho histórico y no cambia nunca una vez escrito. Una orden puede producir varios deals si se llena por partes.
  • Posición (position) — tu exposición neta actual en un símbolo, construida y modificada por los deals. Una posición es un estado en marcha: se abre, cambia de volumen y acaba cerrándose a cero.
Las órdenes son intención, los deals son eventos, las posiciones son estado. Una orden se convierte en uno o varios deals; los deals se acumulan en una posición; la posición es lo que de verdad tienes ahora mismo.

Por qué aquí fallan los hábitos de MT4

MT4 tenía un solo concepto — la "orden" — que difuminaba los tres. Abrir una operación, la operación abierta en sí y el registro cerrado vivían todos bajo OrderSelect. MT5 los separa, y lo importante es que es netting o hedging según el tipo de cuenta. En una cuenta netting tienes como mucho una posición por símbolo; una segunda compra la incrementa en lugar de abrir una operación paralela. En una cuenta hedging cada entrada puede ser su propia posición, más parecido a la sensación de MT4. El código que asume "un ticket = una operación" es correcto en MT4 y erróneo en MT5 netting.

Una operación con números

Supón que lanzas una compra a mercado de 1,0 lote de EURUSD en una cuenta netting:

  1. Envías una orden (compra, 1,0 lote).
  2. La liquidez es escasa, así que se llena como dos deals: 0,6 lotes a 1,08500 y 0,4 lotes a 1,08505. La orden ya está cumplida.
  3. Esos dos deals construyen una posición: larga de 1,0 lote a un precio medio ponderado por volumen de 1,08502.
  4. Más tarde vendes 0,4 lotes. Eso es una orden nueva, que produce un deal, que reduce la misma posición a 0,6 lotes — no abre una segunda posición corta.
  5. Por último cierras los 0,6 lotes restantes. Una orden más, un deal más, y la posición deja de existir. Su historia completa vive ahora como una cadena de deals en el histórico.

Cuenta las "operaciones" por órdenes y dirías tres. Cuéntalas por deals y dirías cuatro. Cuéntalas por posiciones y fue una sola ida y vuelta. Las tres son legítimas — pero solo si sabes cuál estás contando.

Dónde muerde esto en la práctica

  • Doble conteo en llenados parciales. Un EA que trata cada deal como una entrada separada infla su recuento de posiciones y puede saltarse su propio límite de operaciones con un único llenado parcial.
  • Cuadrar el beneficio. El beneficio y el swap caen sobre los deals, no sobre la posición ni la orden. Suma el objeto equivocado y tu P&L no cuadrará con el extracto del bróker.
  • Sorpresas del netting. Una estrategia de hedging llevada sin cambios a una cuenta netting fusiona en silencio sus "dos operaciones opuestas" en una única posición neta, y la cobertura que creías tener nunca existió.
  • Órdenes pendientes que nunca fueron deals. Una orden pendiente cancelada o caducada es una orden real en el histórico con cero deals — cuenta las órdenes como operaciones y apuntarás actividad fantasma.
  • El ticket de posición se reutiliza conceptualmente. En netting, el ticket de la posición persiste mientras cambia el volumen, así que "¿se abrió esta posición hoy?" necesita la hora del deal de apertura, no el estado actual de la posición.

Cómo pensar tu histórico

Cuando cuadres una cuenta, guíalo todo desde los deals — son inmutables, tienen marca de tiempo y llevan el dinero. Reconstruye las posiciones recorriendo los deals en orden por símbolo y magic number; trata las órdenes como el rastro de auditoría de la intención, útil para detectar rechazos y cancelaciones pero nunca como tu libro de operaciones. Si tus informes y el extracto del bróker discrepan, casi siempre es porque un lado contó órdenes o posiciones donde el otro contó deals.

En resumen

Orden, deal y posición son intención, evento y estado — relacionados pero nunca intercambiables. Decide a propósito en cuál debe basarse cada recuento, límite o informe, sé consciente de si tu cuenta es netting o hedging, y construye tu P&L a partir de los deals. Hazlo y el histórico de MT5 cuadra limpio; sáltatelo y pasarás horas persiguiendo números que nunca medían lo mismo.

← MetaTrader, EAs y VPS
Tecnemia AlgoSentinel

Un solo panel para toda la operativa

AlgoSentinel lleva toda tu operativa de EAs — vigila tus estrategias y tus VPS a todas horas y te marca qué requiere atención.

  • Control de EAs en incubación — un veredicto claro: incubar · promover · retirar
  • Monitor de VPS y real — el aviso que ahorra dinero cuando un EA no arranca
Ver AlgoSentinel →
Panel de AlgoSentinel (vista real)