Número mágico automático

 

Hola a todos, este es mi primer mensaje en este foro.


Me gustaría preguntar qué opinan de este código para hacer un número mágico único para cada gráfico que se adjunta al EA. ¿Parece estar bien?

Gracias.


int NúmeroMágico;

int init()
{
MagicNumber = WindowHandle(Symbol(),0);
Comentario( MagicNumber);
}


 
NablaQuant:

Me gustaría preguntar qué opinas de este código para hacer un único Número Mágico para cada gráfico atached EA. ¿Parece estar bien?

Eso es bastante astuto - siempre y cuando no necesites que el número mágico permanezca igual para cada EA a través de los reinicios de MT4. (También hay una muy pequeña posibilidad de que, a través de los reinicios, un EA pueda recibir un mango de ventana previamente utilizado por otro EA).

 

Y el tamaño del entero podría ser mayor que el entero MQL4

¿Y hWnd puede ser un valor negativo? ¡No es bueno para un número mágico!

-BB-

 
BarrowBoy:

Y el tamaño del entero podría ser mayor que el entero MQL4

¿Y hWnd puede ser un valor negativo? ¡No es bueno para un número mágico!

-BB-

No había pensado en eso, pero MT4 sí permite números mágicos negativos - al menos en el broker que uso regularmente para hacer pruebas. (Lo he hecho antes por accidente.) Por lo tanto, no debería haber ningún problema desde ese punto de vista: los 32 bits de hWnd simplemente se tratan como un entero de 32 bits con signo.

 
Utilizar la función hash
 
antslag:
Usar la función hash

Bueno, sí, pero ¿un hachís de qué?

 
jjc:

Bueno, sí, pero ¿un hachís de qué?

Yo hice esto hace un tiempo y funcionó muy bien. Asigné un número de 2 dígitos a cada par, 1 dígito a corto y largo (algunos de mis EAs operaban sólo en un sentido), y un número de 2 dígitos para los TFs.

Luego, simplemente agregue los números y usted tiene el MagicNumber.

 
DayTrader:

Hice esto hace un tiempo y funcionó muy bien. Asigné un número de 2 dígitos a cada par, 1 dígito a los cortos y a los largos (algunos de mis EAs operaban sólo en un sentido), y un número de 2 dígitos para los TFs.

Eso es genial... pero lo inteligente del método de NablaQuant es que genera números mágicos únicos incluso si hay múltiples EAs corriendo en los gráficos para el mismo símbolo y marco de tiempo. Lo ideal es algo que hace que y persiste a través de reinicios de MT4, pero no puedo ver una manera de lograr esto utilizando cualquier información dentro de MT4 (o un hash de esa información).

 
jjc:

Eso es genial... pero lo inteligente del método de NablaQuant es que genera números mágicos únicos incluso si hay múltiples EAs corriendo en los gráficos para el mismo símbolo y marco de tiempo. Lo ideal es algo que hace que y persiste a través de reinicios de MT4, pero no puedo ver una manera de lograr esto utilizando cualquier información dentro de MT4 (o un hash de esa información).

Se puede hacer pero hay que manejarlo con cuidado...

Adjunto un EA que hice hace un tiempo ( mucho trabajo, no muy rentable)... El AutoMagic está ahí.

Archivos adjuntos:
 
DayTrader:

Se puede hacer pero hay que manejarlo con cuidado...

Adjunto un EA que hice hace un tiempo ( mucho trabajo, no muy rentable)... El AutoMagic está ahí.

Me falta algo aquí. Si abro dos gráficos para, por ejemplo, USDJPY H1, y añado una instancia del EA a cada uno de ellos, entonces ambos utilizan el número mágico 9999033.

 
jjc wrote >>

Me falta algo aquí. Si abro dos gráficos para, por ejemplo, USDJPY H1, y añado una instancia del EA a cada uno de ellos, entonces ambos utilizan el número mágico 9999033.

Entonces, ¿es la aplicación terminal de MT un 'contenedor' - con un único hWnd para <la cosa entera>?