Categoría
Plataforma
Nivel
Principiante
Se usa en
Operación de MT5Evaluación de EA

Número mágico

Un entero que un Expert Advisor estampa en cada orden que envía, para reconocer sus propias posiciones y dejar en paz todo lo demás de la cuenta.

también: magic del EA, número mágico de la orden, MAGIC

Actualizado · Revisado

En palabras sencillas

Una etiqueta con nombre en cada operación. Al terminal no le importa quién abrió una posición, así que cada EA escribe su propio número en el ticket y después solo toca los tickets que llevan ese número.

Por qué importa

MetaTrader da a cada EA de una cuenta la misma vista de todas las posiciones. Sin etiqueta, un EA no puede distinguir sus operaciones de las suyas ni de las de otro EA — y un EA que gestiona la posición equivocada es un fallo que cuesta dinero en lugar de uno que lanza un error.

  • Es lo que hace posible, para empezar, ejecutar varios EA en una misma cuenta.
  • Protege las operaciones manuales: llevan magic 0, así que un EA bien escrito nunca las toca.
  • Es como se separa después un historial por estrategia — la etiqueta sobrevive en el historial de deals.

En MetaTrader 5

Dónde aparece en MT5

  • Gráfico → propiedades del EA (F7) → Entradas — la propia entrada MagicNumber del EA
  • Probador de Estrategias → Entradas — la misma entrada al testear
  • Código MQL5: MqlTradeRequest.magic al enviar, POSITION_MAGIC / ORDER_MAGIC / DEAL_MAGIC al leer de vuelta

Cómo lo usan los EA

  • Se fija una vez al arrancar — CTrade::SetExpertMagicNumber(MagicNumber) — y a partir de ahí toda orden que el EA envía lleva la etiqueta.
  • Se filtra en cada pasada: el bucle de posiciones salta cualquier ticket cuyo POSITION_MAGIC no sea el suyo antes de modificar, arrastrar o cerrar nada.
  • Se filtra el historial igual, para que las estadísticas por EA se calculen solo con los deals de ese EA.
  • Todo EA generado por el Builder de mt5depot incluye una entrada MagicNumber con un valor derivado de la estrategia, de modo que dos EA generados distintos no colisionan de fábrica.

Ajustes habituales

Ajuste Valor habitual Nota
Operaciones manuales 0 El valor por defecto del terminal. Un EA nunca debería gestionar magic 0.
Un EA, un símbolo cualquier entero único Sirve cualquiera que recuerde — 20260807, 1001.
El mismo EA en varios símbolos un valor por gráfico Si no, la instancia de EURUSD cierra las posiciones de la de GBPUSD.
EA de cartera con varias estrategias un valor por pata Cada pata necesita su propia etiqueta para arrastrarse y cerrarse de forma independiente.

Problemas operativos frecuentes

  • Dos instancias con el mismo magic: cada una ve las posiciones de la otra como propias y las cierra en el momento equivocado.
  • Cambiar el magic con posiciones abiertas las deja huérfanas — el EA deja de reconocer operaciones que abrió minutos antes, y nada las cerrará nunca de forma automática.
  • Dejar el magic en 0 pone al EA a cargo de sus operaciones manuales.
  • Volver a adjuntar un EA tras reiniciar el terminal con el valor por defecto en vez del configurado produce la misma orfandad, en silencio.

Funciones de MT5 relacionadas

CTrade::SetExpertMagicNumber()
Fija la etiqueta que llevará toda orden posterior de esta instancia.
PositionGetInteger(POSITION_MAGIC)
Lee la etiqueta de una posición abierta.
OrderGetInteger(ORDER_MAGIC)
La lee de una orden pendiente.
HistoryDealGetInteger(ticket, DEAL_MAGIC)
La lee de un deal cerrado, que es como se separa el historial por EA.

Ejemplo

Tres EA en una cuenta. Cada uno estampa su número, así que cada bucle de posiciones toca solo sus propias filas aunque todos vean las seis posiciones.

Un terminal, una cuenta, tres dueños — la etiqueta es lo único que los separa.
EA de tendencia en EURUSD
20260101
EA de reversión a la media en USDJPY
20260102
Sus operaciones manuales
0
Ningún EA reclama esta etiqueta, así que nada automático las cerrará.

Cálculo if (PositionGetInteger(POSITION_MAGIC) != MagicNumber) continue;

Resultado Cada EA gestiona solo las posiciones que abrió

Cifras ilustrativas: no son el historial de ningún EA del catálogo.

Cómo se usa

Trate el número mágico como configuración de cuenta, no como ajuste de estrategia: anótelo antes de que el EA entre en real, y no lo cambie nunca con posiciones abiertas.

  • Asigne un valor por instancia en ejecución, no por producto EA — el mismo EA en dos gráficos necesita dos valores.
  • Lleve una lista. En cuanto haya cuatro o cinco instancias corriendo, una etiqueta sin anotar es indistinguible de una duplicada.
  • No reutilice nunca una etiqueta que aún tenga posiciones abiertas asociadas, ni siquiera de un EA que haya quitado.
  • Compruébelo tras cada reinstalación del terminal o restauración de perfil, que es donde vuelven los valores por defecto.

El valor en sí no significa nada para MetaTrader — sirve cualquier entero. Lo único que importa es que sea único entre lo que corre en esa cuenta.

Errores frecuentes

Creer que el número mágico afecta a la ejecución

No cambia nada de cómo se ejecuta una orden. Es metadato: el bróker no actúa según él y no tiene efecto sobre precio, spread ni slippage.

Usar un solo número mágico para un EA en muchos gráficos

La identidad que importa es la instancia en ejecución, no el producto. Dos gráficos compartiendo etiqueta significan dos instancias gestionando un mismo conjunto de posiciones.

Cambiarlo para reiniciar un EA que se porta mal

Las posiciones abiertas conservan la etiqueta antigua. Cambiar la entrada las abandona: el EA deja de reconocerlas y siguen abiertas hasta que se cierran a mano o por un stop out.

Suponer que un número mágico separa el extracto de la cuenta

La pestaña Operaciones del terminal no lo muestra. Separar resultados por EA exige leer DEAL_MAGIC del historial, que es lo que hacen las herramientas de informes — no algo que dé el extracto por defecto.

En detalle

Lo que la etiqueta no compra, contado en este estante

Sobre los 14 EA publicados aquíCifra
Fichas con una entrada MagicNumber10
Fichas que exigen cambiarla durante la instalación0
Fichas que piden ejecutarlas donde nada más opere ese símbolo8
De esas, fichas que llevan igualmente una entrada MagicNumber6
Símbolos reclamados por más de una ficha7 de 15
Parejas de EA que no pueden compartir cuenta15 de 91

Lea juntas las filas tres y cuatro. Etiquetar órdenes es un trabajo; decidir si se permite una nueva señal es otro, y un EA que se limita a una posición abierta tiene que contar primero. Si cuenta con PositionsTotal() y una comprobación de símbolo, una posición ajena entra en el total; si filtra antes por POSITION_MAGIC, no entra. Seis fichas de aquí llevan la entrada y aun así imprimen el aviso, lo que le dice cuál de las dos usa su recuento de posiciones.

Así que la pregunta de emparejar es una pregunta de símbolo, y se responde antes de comprar. USD/JPY está reclamado por cuatro fichas a la vez — Iridescence, Kestrel Hover, Lanternfish y Tessera —, así que ningún par de ellas va junto. EUR/GBP ahora lleva dos, Ballast y Thunderhead. Solo Orrery, Peregrine y Zerqon no se solapan con nadie. Cuando dos sí se solapan, separar cuentas arregla lo que una etiqueta no puede: cada EA cuenta entonces un conjunto que contiene solo sus propias operaciones. Nuestra metodología registra cada ejecución publicada por símbolo, que es la misma distinción vista desde la medición.

Preguntas frecuentes

¿Qué número mágico debería usar?
Cualquier entero que no esté ya en uso en esa cuenta, y que no sea 0 — ese valor pertenece a las operaciones manuales. Un valor con forma de fecha como 20260807 es fácil de seguir cuando hay varias instancias en marcha.
¿Pueden dos EA compartir el mismo número mágico?
Técnicamente sí, y es una causa habitual de pérdidas difíciles de diagnosticar: cada instancia trata las posiciones de la otra como propias y puede cerrarlas o arrastrarlas en el momento equivocado. Dé a cada instancia en ejecución su propio valor.
¿Importa el número mágico en el Probador de Estrategias?
En un test de un solo EA no, porque no hay nada más operando en la cuenta de prueba. Importa en cuanto corre más de un EA en la misma cuenta real o demo.