Escrito para MT4 y MT5 (MQL4/MQL5). Verifica los nombres de los campos específicos y su comportamiento con la documentación actual de MetaQuotes, ya que los detalles de implementación pueden variar entre las versiones de la plataforma.
Un magic number en forex es un identificador numérico que un Asesor Experto (EA) asigna a las órdenes o operaciones que abre. El EA puede buscar posteriormente ese número para distinguir sus propias operaciones de las órdenes manuales o de las operaciones abiertas por otros EAs en la misma cuenta. Un magic number es independiente del ticket de la orden y del comentario de la orden, y solo funciona correctamente cuando el EA está programado para asignarlo y verificarlo de manera consistente. No es automático solo por el hecho de que exista un EA.
Esa última parte es más importante de lo que la mayoría de las guías admiten, así que entremos en detalle adecuadamente.
Magic Number vs. Ticket vs. Comentario
Estos tres conceptos se confunden constantemente y, sinceramente, no creo que sea sorprendente. Todos son “números o texto adjuntos a una operación”, por lo que, superficialmente, parecen intercambiables. Pero no lo son.
| Identificador | Asignado por | Propósito principal |
| Magic number | EA o código de trading | Identificar qué estrategia abrió una operación |
| Número de ticket | La plataforma de trading | Identificar de forma única un registro específico de orden, operación o posición |
| Comentario de la orden | EA, script o trader | Adjuntar texto legible opcional |
| Símbolo | Mercado o bróker | Identificar qué instrumento se está operando |
| Número de cuenta | Bróker | Identificar la cuenta de trading en sí misma |
Un magic number no es lo mismo que un comentario, aunque versiones anteriores de guías sobre este tema hayan dicho exactamente eso. Un comentario es texto libre, puede ser editado, truncado por la plataforma o dejarse totalmente en blanco. Un magic number es un campo numérico definido que el EA establece por programación. Sirven para propósitos diferentes, y tratar un comentario como un identificador fiable es buscar problemas, ya que no se garantiza que los comentarios sean únicos o incluso que estén presentes.

Cómo un EA asigna un Magic Number
Cuando un EA abre una operación, su código puede adjuntar un valor de magic number específico a esa orden como parte de la solicitud de operación. Ese valor viaja con la orden y, más tarde, el EA (o un script, o una herramienta de reporte externa) puede filtrar las operaciones verificando qué magic number lleva cada una.
Aquí está la parte que es fácil suponer incorrectamente: no todos los EA lo tienen automáticamente, y no todos los EA lo usan bien. Para que un magic number cumpla realmente su función, el código debe:
- Aceptar o definir un valor de magic number en algún lugar de sus ajustes
- Asignar ese valor cada vez que envía una orden
- Filtrar las órdenes o posiciones existentes utilizándolo
- Evitar interferir con las operaciones que llevan un número diferente
Algunos EAs omiten esta lógica por completo o recurren a un valor predeterminado que no es único. En ese caso, el magic number existe como un ajuste, pero no está protegiendo nada realmente.
Qué hace (y qué no hace) un Magic Number
Quiero ser directo sobre esto, porque es el error de concepto más grande que circula sobre este tema: un magic number no calcula el rendimiento. No rastrea beneficios, pérdidas, drawdown, tasa de acierto o retorno ajustado al riesgo por sí solo. Todo lo que hace es etiquetar una operación para que las herramientas compatibles, el propio EA, un script o una plataforma de análisis externa puedan agrupar las operaciones pertenecientes a la misma estrategia.
Si estás ejecutando tres EAs en una cuenta y quieres ver cómo se desempeñó cada uno individualmente, el magic number es lo que permite que una herramienta de reporte separe esos datos. Pero el cálculo real del rendimiento ocurre en otro lugar. El número en sí es solo una etiqueta.
Cómo un EA encuentra sus propias operaciones
Supongamos que el EA A opera EUR/USD usando el magic number 1001, y el EA B opera en la misma cuenta usando el magic number 2001. Cuando el EA A escanea sus operaciones abiertas, filtra específicamente las posiciones de EUR/USD etiquetadas con 1001 e ignora cualquier cosa etiquetada con 2001.
Eso suena limpio en teoría. En la práctica, filtrar solo por magic number puede ser arriesgado. Un enfoque más robusto suele verificar varios campos a la vez:
- Cuenta
- Símbolo
- Magic number
- Tipo de orden o posición
- Versión de la estrategia
- Dirección
- Ticket, cuando sea relevante
- Comentario, como verificación secundaria útil
¿Por qué molestarse con todo eso? Porque dos EAs pueden terminar usando accidentalmente el mismo magic number, especialmente si están construidos a partir de una plantilla similar o copiados de un ejemplo en línea sin cambiar el valor por defecto. Si el EA A y el EA B usan ambos el 1001, podrían empezar a leer, cerrar o modificar las operaciones del otro sin que ninguno de los dos “sepa” que está sucediendo.
Por qué cada estrategia necesita un identificador único
Esto merece su propia sección, porque las consecuencias de equivocarse no son pequeñas. Si dos EAs gestionados de forma independiente comparten un magic number:
- Un EA podría cerrar las operaciones del otro, pensando que son suyas
- Podría modificar los niveles de stop-loss o take-profit que pertenecen a una estrategia diferente
- Podría contar la exposición errónea al calcular el tamaño de la posición
- Podría bloquear una entrada válida porque piensa que una posición ya está abierta
- Los reportes y las estadísticas para ambas estrategias pueden volverse engañosos
Nada de eso es hipotético. Es un error bastante común, particularmente cuando los traders copian una plantilla de un EA y olvidan cambiar el ajuste del magic number antes de ejecutar una segunda estrategia junto a ella.
Una convención de numeración razonable y repetible ayuda a evitar esto. Aquí hay una estructura de ejemplo, aunque el formato exacto es totalmente una convención personal o de equipo, no algo que MetaTrader requiera:
| Dígitos | Significado |
| Primeros 2 | Familia de la estrategia |
| Siguientes 2 | Versión de la estrategia |
| Siguientes 2 | Grupo de símbolos |
| Últimos 2 | Marco temporal o variante |
Bajo ese esquema, un magic number como 10030702 podría significar familia de estrategia 10, versión 03, grupo de símbolos 07, marco temporal o variante 02. Vale la pena mantener un registro sencillo junto a tus EAs para que tú (o cualquier otra persona que gestione la cuenta) pueda ver qué se está ejecutando de un vistazo:
| Magic number | EA | Símbolo | Marco temporal | Versión |
| 10030702 | Trend EA | EUR/USD | H1 | 2 |
| 10040701 | Breakout EA | GBP/USD | M15 | 1 |
Números mágicos en MT4 vs. MT5
Esta es una distinción que no veo tratarse lo suficiente, y realmente cambia cómo se comportan los números mágicos en la práctica.
MT4 comúnmente gestiona las operaciones como tickets, donde cada orden lleva su propia identidad. MT5 funciona de forma diferente: distingue entre órdenes, operaciones y posiciones como conceptos separados, y las cuentas pueden funcionar con un modelo de cobertura (hedging) o de neto (netting).
Específicamente en una cuenta de netting, múltiples estrategias que operan el mismo símbolo pueden terminar contribuyendo a una única posición neta en lugar de permanecer como operaciones separadas e individuales. Eso significa que la atribución a nivel de posición puede complicarse más allá de simplemente asignar diferentes números mágicos y dar la tarea por terminada. El comportamiento del número mágico depende realmente de la plataforma y del modelo de cuenta que estés ejecutando, por lo que vale la pena confirmar exactamente cómo gestiona esto tu cuenta, si es de cobertura o de netting, antes de asumir que tus estrategias están claramente separadas.
Qué sucede realmente después de un reinicio
Aquí hay una afirmación que aparece en mucho contenido para principiantes y debe corregirse: un número mágico por sí solo no garantiza que un EA reconozca su operación abierta después de un reinicio y evite duplicarla. Ese comportamiento de recuperación depende enteramente de cómo esté codificado el EA.
Después de una desconexión, un reinicio de la computadora o un relanzamiento de la plataforma, un EA bien construido puede buscar operaciones coincidentes verificando el número mágico, el símbolo y otros campos relevantes. Pero el “puede” es la clave en esa frase. Para recuperarse de forma segura, el EA generalmente necesita:
- Escanear las órdenes o posiciones actualmente abiertas
- Filtrarlas correctamente usando sus propios identificadores
- Reconstruir cualquier estado interno que necesite (como el precio de entrada o el progreso del trailing stop)
- Verificar que está mirando el símbolo y la cuenta correctos
- Gestionar correctamente los cierres parciales
- Tener en cuenta las órdenes pendientes, no solo las posiciones abiertas
- Evitar reentrar bajo condiciones que crearían una operación duplicada
Si falta cualquiera de esa lógica, un reinicio puede resultar absolutamente en órdenes duplicadas o en un EA que pierde el rastro de una posición que aún debería estar gestionando. El número mágico es una pieza del rompecabezas, no la solución completa.
Del mismo modo, cambiar el número mágico de un EA mientras aún tiene operaciones abiertas es un riesgo real. Si un EA abre una posición usando un número y se reinicia con uno diferente, es posible que simplemente deje de reconocer esa posición existente por completo. No cambies la configuración del número mágico de un EA en vivo a menos que el código incluya un proceso de migración específico y probado para gestionarlo.
Operaciones manuales y números mágicos
Las operaciones manuales normalmente no llevan un número mágico de la misma forma deliberada que uno asignado por un EA, aunque la convención exacta puede variar según la plataforma, el script o la herramienta de copy-trading. Un EA tiene que decidir explícitamente cómo trata estas:
- Ignorar las operaciones manuales por completo y gestionar solo las suyas
- Incluir las operaciones manuales de alguna manera, si la lógica lo requiere
- Gestionar estrictamente sus propias operaciones etiquetadas y dejar todo lo demás sin tocar
- Respetar la exposición existente creada por otros sistemas en la misma cuenta
Asumir que un EA “sabrá” automáticamente qué operaciones son manuales y cuáles no, es un error. Ese comportamiento debe estar integrado en el código.
Errores comunes que conviene evitar
- Reutilizar el mismo número mágico en EAs no relacionados: Este es probablemente el problema más común y puede causar que dos estrategias interfieran con las operaciones de la otra sin que ninguna de ellas emita una alerta de error.
- Cambiar el número mágico mientras las operaciones están abiertas: El EA puede simplemente dejar de reconocer sus propias posiciones existentes.
- Filtrar por número mágico pero no por símbolo: Un EA puede terminar modificando o contando operaciones en el instrumento incorrecto si no verifica ambos.
- Asumir que el número mágico evita las entradas duplicadas: No lo hace por sí solo. La protección contra duplicados requiere una lógica de estado de entrada separada en el código.
- Asumir que cada herramienta de reporte importa los datos del número mágico automáticamente: Algunas herramientas de análisis o reporte pueden no exponer ni preservar este dato, así que verifícalo antes de confiar en él.
- Tratar los comentarios de las órdenes como identificadores fiables: Los comentarios pueden ser truncados, editados o dejarse en blanco, nada de lo cual se aplica a un número mágico correctamente asignado.
Lista de verificación de la lógica del EA antes del despliegue
Vale la pena repasar esto antes de poner cualquier EA en una cuenta real:
- ¿Asigna un número mágico deliberado y no predeterminado?
- ¿Filtra tanto por número mágico como por símbolo, no solo por uno?
- ¿Distingue entre órdenes de mercado y órdenes pendientes?
- ¿Gestiona correctamente los cierres parciales?
- ¿Puede reconstruir su estado correctamente después de un reinicio?
- ¿Evita entradas duplicadas bajo las mismas condiciones?
- ¿Ignora o incluye intencionadamente las operaciones manuales, en lugar de comportarse de forma impredecible con ellas?
- ¿Gestiona de forma segura los cambios en la configuración de entrada, sin romper la lógica existente?
- ¿Registra los errores y las acciones de trading en algún lugar que realmente puedas revisar?
- ¿Funciona correctamente con el modelo de cobertura o de netting de tu cuenta?
Nota sobre la creación de EAs sin experiencia en programación
Tradicionalmente, convertir una estrategia manual en un EA significaba contratar a un desarrollador, lo que tiende a ser lento y costoso, y a menudo implica varias rondas de corrección de errores antes de que el código coincida con lo que pretendías. El software de construcción de estrategias ha hecho esto considerablemente más accesible para los traders sin conocimientos de programación, permitiéndote generar la lógica de un EA sin escribir MQL por ti mismo.
Dicho esto, la automatización no significa automáticamente que sea segura o libre de errores. Incluso un EA generado sigue conllevando un riesgo operativo real:
- Errores de codificación, ya sean escritos por humanos o generados
- Desconexiones del bróker
- Interrupciones del VPS o del hosting
- Órdenes duplicadas por una lógica de recuperación incompleta
- Tamaño de lote incorrecto
- Actualizaciones de la plataforma que cambian el comportamiento esperado
- Estado interno corrupto tras una caída
- Fallo de la estrategia ante condiciones cambiantes del mercado
- Robo de credenciales, si el acceso a la cuenta no está debidamente protegido
- EAs de terceros maliciosos o mal evaluados
Un constructor de estrategias puede reducir significativamente el esfuerzo de programación, pero el EA que produce sigue necesitando revisión de código, pruebas reales, controles de riesgo y alguien que lo vigile de verdad. También necesita que la plataforma esté funcionando, el trading algorítmico habilitado, una conexión activa con el bróker y una computadora o VPS funcional para monitorear el mercado. No opera “todo el tiempo” por sí solo; opera solo mientras toda esa infraestructura se mantenga en pie.
Una cosa más que vale la pena corregir: no hay un límite fijo como “hasta 99 EAs” en una cuenta. La capacidad práctica depende de tu CPU, la memoria disponible, los límites de la plataforma y el bróker, cuántos gráficos tienes abiertos, la frecuencia de los ticks, la eficiencia del código, la estabilidad de la red y cuánta exposición te sientes cómodo asumiendo a la vez. Cualquiera que cite un número específico sin vincularlo a un límite documentado del bróker o de la plataforma, probablemente esté adivinando.
Preguntas frecuentes
¿Es necesario un número mágico para cada Asesor Experto?
No. Un número mágico es un ajuste que el código del EA debe definir y usar deliberadamente; no es una función obligatoria de la plataforma que exista automáticamente en cada EA. Algunas configuraciones simples o de una sola estrategia podrían no usar ninguno. Se vuelve realmente importante una vez que ejecutas más de un EA en la misma cuenta, ya que sin un identificador consistente, separar las operaciones de cada estrategia se vuelve difícil rápidamente.
¿Puedo establecer mi propio número mágico o el EA lo elige automáticamente?
En la mayoría de los EAs, el número mágico es un parámetro ajustable que puedes configurar tú mismo, generalmente visible en el panel de propiedades o de configuración de entrada del EA. Algunos EAs vienen con un valor predeterminado que los traders nunca cambian, que es exactamente cómo ocurren las colisiones de números mágicos entre estrategias no relacionadas. Vale la pena elegir y registrar deliberadamente tu propio valor para cada EA en lugar de aceptar el valor predeterminado con el que se lanzó el código.
¿Qué pasa si dos EAs en la misma cuenta usan el mismo número mágico por accidente?
Pueden empezar a interferir con las operaciones del otro. Un EA puede cerrar, modificar o contar las posiciones del otro como si pertenecieran a su propia estrategia, ya que ambos están técnicamente etiquetados de la misma forma. Esto puede producir cálculos de exposición incorrectos, entradas bloqueadas o estadísticas de rendimiento engañosas para ambas estrategias. Asignar a cada EA un número mágico genuinamente único, y verificarlo, evita este problema específico.
¿Funciona un número mágico de la misma manera en MT5 que en MT4?
No del todo. MT4 generalmente organiza las operaciones en torno a tickets individuales. MT5 separa las órdenes, las operaciones y las posiciones, y las cuentas pueden funcionar con un modelo de cobertura o de netting. En una cuenta de netting, varias estrategias que operan el mismo símbolo pueden terminar contrib 아닌 contribuyendo a una posición neta combinada en lugar de permanecer totalmente separadas, por lo que la atribución basada solo en el número mágico puede no contar la historia completa en MT5 de la misma forma directa que en MT4.
¿Puedo usar el número mágico de una orden para recuperar el estado de un EA después de un corte de energía o una desconexión?
Parcialmente, y solo si el EA está codificado para ello. Un EA bien construido puede escanear las órdenes y posiciones abiertas después de reconectarse, filtrar por número mágico y símbolo, y reconstruir cualquier estado interno que necesite para seguir gestionando la operación correctamente. Pero esto no es automático solo porque exista un número mágico. Si esa lógica de recuperación no fue escrita en el EA, un reinicio aún puede resultar en una orden duplicada o en una posición que el EA ya no rastrea correctamente.
Resumen final
Un número mágico es una etiqueta, no una garantía. Es genuinamente útil, posiblemente esencial una vez que más de una estrategia automatizada comparte una cuenta, pero solo hace lo que el código circundante le indica. No calcula el rendimiento por sí mismo, no restaura automáticamente el estado de un EA después de un reinicio y no evita las operaciones duplicadas a menos que una lógica separada se encargue de ello. Comprender dónde termina el trabajo del número mágico y dónde el código más amplio del EA debe asumir la responsabilidad es, en realidad, el punto central de este tema.
Este artículo tiene fines educativos y no constituye asesoramiento financiero o de trading. El trading automatizado conlleva riesgos operativos y financieros, incluyendo la posibilidad de errores de codificación, problemas de conectividad y pérdidas inesperadas.
Lectura adicional
- Cómo operar forex desde casa
- Cómo operar forex para principiantes
- Mejores estrategias de forex
- Indicadores de forex
- Mejores pares de divisas para operar
- Cómo crear un EA de trading de forex sin conocimientos de programación
- Mejores brókers de forex
- Mejores robots de forex para trading
- Qué significa FX
- Mejor VPS de forex para MetaTrader
- Qué es el trading algorítmico de forex
- Cómo convertirse en un trader de forex exitoso

Petko Aleksandrov

