Respuesta

Duplica este EA con el actualizador automático de números mágicos.

5 respuestas

Conde-Roy

Abonado, bbp_participant, comunidad, 69 respuestas.

Visitar el perfil

hace 10 años #113370

Sería bueno tener una función que le permite duplicar su EA con sólo pulsar un botón que escala automáticamente los números mágicos.

 

Digamos que tiene un EA con 20 números mágicos diferentes y desea tener dos o más EAs con el mismo conjunto de reglas ejecutándose simultáneamente. Entonces todo lo que uno tendría que hacer es pulsar el botón (duplicar / copiar) EA y el Asistente de EA reconocería los números mágicos actuales y replicaría el EA pero con la siguiente secuencia normalmente recurrente de números; en este caso 21 - 40, etc.

 

greetz,

 

Roy

 

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 10 años #128940

Gracias por la sugerencia, estoy de acuerdo en que a veces sería útil.

Mark
Arquitecto de StrategyQuant

0

beniko

Abonado, bbp_participant, comunidad, 31 respuestas.

Visitar el perfil

hace 10 años #129607

Hola Conde-Roy,

 

Ahora mismo algo que puedes hacer es crear todas las variables que vas a utilizar para los números mágicos y luego crear una nueva regla que haga lo siguiente:

 

Si

el bar está abierto

 

Entonces

asignar valores

NúmeroMágico2=NúmeroMágico1+1

NúmeroMágico3=NúmeroMágico2+1

NúmeroMágico4=NúmeroMágico3+1

etc...

 

En otras palabras, el usuario tiene que configurar el 1er MagicNumber y todos los demás se calcularán en base a él.

 

Mark, como sugerí en mi último tema una pestaña de inicialización sería útil. Este es un buen ejemplo para que alguien podría utilizarlo, ya que la EA no haría los cálculos anteriores después de cada nueva barra se crea.

 

Saludos

0

Conde-Roy

Abonado, bbp_participant, comunidad, 69 respuestas.

Visitar el perfil

hace 10 años #129654

¿cómo se ve esto en un archivo sqw? ¿podría compartir la plantilla? por favor.

0

beniko

Abonado, bbp_participant, comunidad, 31 respuestas.

Visitar el perfil

hace 10 años #129655

Aquí la tienes. También añadí una regla que escribe los Números Mágicos en el gráfico.

0

D0NKbet

Abonado, bbp_participant, comunidad, 6 respuestas.

Visitar el perfil

hace 10 años #129757

En mi auto desarrollado EA estoy usando un poco de código que genera un número mágico único basado en...

 

- Calendario

- Símbolo

- Nombre EA

// crear número mágico uniq para par de divisas y timeframe
   int MNSymbol,MNSymbolCalc;
   //convertir el Symbol() en una cadena ASCII y añadir cada carácter al MNSymbol
   for(int a=0;a<StringLen(Symbol());a++){
      MNSymbolCalc=StringGetChar(Symbol(), a);
      MNSymbolCalc=((MNSymbolCalc-64)*(MathPow(10,(a))));/restar 64 porque los caracteres ASCII empiezan en 65, multiplicar el resultado por la potencia a-ésima para mayor claridad (aunque no es necesario)
      MNSímbolo = MNSímbolo+MNSímboloCalc;
   }
   int MNPeriod=Periodo();
   
   // convierte el Nombre EA en una cadena ASCII
   int MNExpert,MNExpertCalc;
   for(int a=0;a<StringLen(WindowExpertName());a++){
      MNExpertCalc=StringGetChar(NombreExpertoVentana(), a);
      MNExpertCalc=((MNExpertCalc-64)*(MathPow(10,(a))));/restar 64 porque los caracteres ASCII empiezan en 65, multiplicar el resultado por la potencia a-ésima para mayor claridad (aunque no es necesario)
      MNExpert = MNExpert+MNExpertCalc;
   }
   // calcula el número mágico único
   MagicUnique=MathAbs(MNExpert + MNSymbol + MNPeriod);
   Comment("Número mágico único: " + IntegerToString(MagicUnique));

No es perfecto y debe ser modificado para crear diferentes posiciones de COMPRA / VENTA, pero de esta manera es seguro que el número es único, incluso si se adjunta la misma EA en diferentes pares de divisas o marcos de tiempo 

 

¿Quizás podrías añadir algo así en el Asistente de EA? Digamos que el código de arriba + la diferencia para la orden de compra y venta + un contador en función de cuántas reglas para hacer órdenes hay. Así nadie tendría que preocuparse más por los números mágicos. 

0

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)