Un Magic Number es un número entero que el Expert Advisor guarda en una orden cuando la crea. Después, el EA puede revisar las operaciones abiertas y el historial, localizar su identificador y decidir qué posiciones le pertenecen.
Para qué sirve
Este número no mejora la rentabilidad, no limita el drawdown y tampoco autoriza una cuenta. Su función es operativa: separar una estrategia automática de otra y evitar, si el programa está bien desarrollado, que un EA modifique órdenes ajenas.
El lotaje, el Stop Loss, la correlación y el drawdown máximo necesitan controles de riesgo independientes.
Flujo de órdenes
Utiliza un entero exclusivo y documentado para cada estrategia independiente. Mantén el mismo valor al reiniciar MT4 o trasladar la instalación a un VPS. Un sufijo del símbolo no exige por sí solo otro Magic Number, pero una instancia de estrategia independiente normalmente sí. Si el proveedor fija u oculta el valor, respeta ese diseño.
Define primero quién controla cada orden
Lee las instrucciones del proveedor. Algunos EA necesitan un Magic Number fijo; los sistemas de cartera pueden compartirlo intencionadamente entre varios gráficos.
Registra cada asignación
Guarda una tabla sencilla con terminal, cuenta, EA, símbolo, timeframe y Magic Number. Es más seguro que confiar en la memoria.
Introduce el valor antes de adjuntar el EA
Configúralo en Inputs antes de operar. No copies un archivo set sin comprobar que otro sistema no utiliza el mismo número.
Consérvalo mientras existan posiciones
No cambies el identificador mientras haya posiciones abiertas salvo que el desarrollador facilite un procedimiento de migración. La nueva instancia podría dejar de reconocer la cesta existente.
Conflictos habituales
| Escenario | Asignación recomendada | Riesgo de confusión |
|---|---|---|
| Un EA en un gráfico | Un número estable para esa instancia | Cambiarlo con operaciones abiertas puede dejarlas sin gestión |
| El mismo EA en dos pares | Un número por símbolo, salvo indicación del proveedor | El EA puede mezclar cestas o cerrar el grupo equivocado |
| Dos EA diferentes | Un identificador exclusivo para cada EA | Ambos programas pueden gestionar las mismas órdenes |
| Operaciones manuales | Normalmente usan Magic Number 0 | Un EA autorizado a gestionar 0 podría tocarlas |
Errores habituales
Configuración segura
Comprueba el alcance documentado de identificación de órdenes antes de elegir números. Algunos programas filtran por Magic Number y símbolo; los EA de cartera pueden gestionar deliberadamente varios símbolos juntos. El identificador solo funciona si el código comprueba el alcance previsto antes de modificar o cerrar una orden.
No utilices comentarios como bloqueo de órdenes. El servidor puede cambiarlos y el Magic Number 0 suele corresponder a órdenes manuales. Verifica el campo real de magic con un script o informe de diagnóstico de confianza, no solo el comentario mostrado.
Cómo verificarlo
Un Magic Number no bloquea otro terminal
Dos terminales conectados a la misma cuenta pueden leer y actuar sobre el mismo conjunto de órdenes. Compartir un Magic Number no crea un mutex en el servidor ni designa un terminal como propietario. Incluso números distintos no impiden que dos copias abran exposición duplicada si detectan independientemente la misma señal.
Mantén una sola instancia de negociación prevista para cada instalación, salvo que el desarrollador admita expresamente coordinación. Al trasladarte a un VPS, conserva los identificadores necesarios para reconocer posiciones abiertas, detén la instancia anterior y confirma la gestión de la nueva. No cambies el identificador de una cesta activa para resolver un problema de terminal duplicado.
La referencia de OrderSend describe magic como identificador definido por el usuario y señala que el servidor puede modificar el final del comentario.
Verificar qué órdenes controla cada instancia
Suponga que el proveedor admite expresamente dos instancias demo independientes con los identificadores 11401 y 11402. Documente cuenta, servidor, versión del EA, símbolos exactos y marcos temporales. Cuando una señal normal genere una orden de prueba, inspeccione su campo magic real y el símbolo. Confirme que cada instancia reconoce solo las órdenes de su ámbito documentado, también después de reiniciar. Usar números distintos no demuestra que el código filtre correctamente.
Si se modifica una posición ajena o no se reconoce una cesta existente, deje de añadir exposición y conserve las pruebas. No cambie los identificadores de posiciones abiertas como experimento. Un EA de cartera coordinado puede utilizar otro modelo de gestión; sus instrucciones prevalecen sobre este ejemplo de instancias independientes.
Al trasladar la instalación, siga las comprobaciones de recuperación y traslado del VPS y revise por separado la exposición conjunta de la cartera. Identificar correctamente las órdenes evita confusiones operativas, pero no hace independientes las estrategias correlacionadas ni limita sus pérdidas de mercado.