programar horario de trabajo a un EA

Espacio para compartir y debatir sobre Asesores Expertos de MetaTrader

programar horario de trabajo a un EA

Notapor beni2 » 05 Mar 2015, 23:29

Hola a todos no se si ya se habra puesto en el foro pero se puede programar el inicio y finalizacion de un EA? Que empiece a las 8 y termine a las 20:00? Gracias de antemano
beni2
 
Mensajes: 3
Registrado: 05 Mar 2015, 17:34
Karma: 0

Re: programar horario de trabajo a un EA

Notapor FXWizard » 09 Mar 2015, 18:00

Hola beni2, es relativamente sencillo. Primero define estos parámetros en el código:

Código: Seleccionar todo
extern bool TimeFilter=false;
extern int StartHour=8;
extern int EndHour=21;


Con la booleana controlamos si está activado o no el filtro horario y con las otras dos variables que la hora se corresponda con el intervalo horario en el que deseamos operar.

Después antes de abrir una operación en el código simplemente pon antes esto:

Código: Seleccionar todo
if(TimeFilter){if(!(Hour()>=StartHour && Hour()<=EndHour)){Comment("Trading Fuera de Horario!");return(0);}}


Espero que sirva.

Saludos,
FXWizard
Avatar de Usuario
FXWizard
 
Mensajes: 8493
Registrado: 12 Feb 2008, 15:17
Karma: 35

Re: programar horario de trabajo a un EA

Notapor MF1Forex » 09 Mar 2015, 22:57

Perdón por la intromisión. Unas preguntas:

Cuando haces: La pregunta sin nada quiere decir que es igual a TRUE?
Código: Seleccionar todo
if(TimeFilter)


Simplificando la línea sería lo mismo: Es correcto?
Código: Seleccionar todo
if(TimeFilter){if(Hour()<=StartHour || Hour()>=EndHour)Comment("Trading Fuera de Horario!");return(0);}


Otra pregunta... solo poniendo esto ya se limita el horario o hay que poner algo mas?
Avatar de Usuario
MF1Forex
 
Mensajes: 1078
Registrado: 02 Dic 2013, 10:54
Ubicación: Cyberdyne Systems
Karma: 13

Re: programar horario de trabajo a un EA

Notapor Lucas Grijander » 09 Mar 2015, 23:32

FXWizard escribió:Hola beni2, es relativamente sencillo. Primero define estos parámetros en el código:

Código: Seleccionar todo
extern bool TimeFilter=false;
extern int StartHour=8;
extern int EndHour=21;


Con la booleana controlamos si está activado o no el filtro horario y con las otras dos variables que la hora se corresponda con el intervalo horario en el que deseamos operar.

Después antes de abrir una operación en el código simplemente pon antes esto:

Código: Seleccionar todo
if(TimeFilter){if(!(Hour()>=StartHour && Hour()<=EndHour)){Comment("Trading Fuera de Horario!");return(0);}}


Espero que sirva.

Saludos,
FXWizard



Aquí hay un pequeño error y es que no se contempla si la hora de apertura es mayor numéricamente hablando que la de cierre, por ejemplo:

StartHour=22
EndHour=3

Para ello lo podemos solucionar así:

Código: Seleccionar todo
if(TimeFilter)
{
  if ((StartHour < EndHour && Hour() >= StartHour && Hour() < EndHour) || (StartHour > EndHour && (Hour() < EndHour || Hour() >= StartHour)))
    {
      Comment("Sesión abierta .... Esperando señal");
    }
}
Avatar de Usuario
Lucas Grijander
 
Mensajes: 437
Registrado: 20 Mar 2014, 14:46
Karma: 9

Re: programar horario de trabajo a un EA

Notapor FXWizard » 10 Mar 2015, 16:51

MF1Forex escribió:Perdón por la intromisión. Unas preguntas:

Cuando haces: La pregunta sin nada quiere decir que es igual a TRUE?
Código: Seleccionar todo
if(TimeFilter)


En efecto, así es.

MF1Forex escribió:Simplificando la línea sería lo mismo: Es correcto?
Código: Seleccionar todo
if(TimeFilter){if(Hour()<=StartHour || Hour()>=EndHour)Comment("Trading Fuera de Horario!");return(0);}


Sí, sería equivalente.


MF1Forex escribió:Otra pregunta... solo poniendo esto ya se limita el horario o hay que poner algo mas?


Aparte de lo que señala Lucas Grijander, sí, debería ser suficiente.


Saludos,
FXWizard
Avatar de Usuario
FXWizard
 
Mensajes: 8493
Registrado: 12 Feb 2008, 15:17
Karma: 35

Re: programar horario de trabajo a un EA

Notapor FXWizard » 10 Mar 2015, 16:51

Lucas Grijander escribió:Aquí hay un pequeño error y es que no se contempla si la hora de apertura es mayor numéricamente hablando que la de cierre, por ejemplo:

StartHour=22
EndHour=3

Para ello lo podemos solucionar así:

Código: Seleccionar todo
if(TimeFilter)
{
  if ((StartHour < EndHour && Hour() >= StartHour && Hour() < EndHour) || (StartHour > EndHour && (Hour() < EndHour || Hour() >= StartHour)))
    {
      Comment("Sesión abierta .... Esperando señal");
    }
}


Jeje partía del supuesto de que el usuario era capaz de poner bien las horas de entrada y no era necesario hacer el check pero sí, tienes toda la razón ;)

Saludos,
FXWizard
Avatar de Usuario
FXWizard
 
Mensajes: 8493
Registrado: 12 Feb 2008, 15:17
Karma: 35

Re: programar horario de trabajo a un EA

Notapor Lucas Grijander » 10 Mar 2015, 16:54

FXWizard escribió:
Lucas Grijander escribió:Aquí hay un pequeño error y es que no se contempla si la hora de apertura es mayor numéricamente hablando que la de cierre, por ejemplo:

StartHour=22
EndHour=3

Para ello lo podemos solucionar así:

Código: Seleccionar todo
if(TimeFilter)
{
  if ((StartHour < EndHour && Hour() >= StartHour && Hour() < EndHour) || (StartHour > EndHour && (Hour() < EndHour || Hour() >= StartHour)))
    {
      Comment("Sesión abierta .... Esperando señal");
    }
}


Jeje partía del supuesto de que el usuario era capaz de poner bien las horas de entrada y no era necesario hacer el check pero sí, tienes toda la razón ;)

Saludos,
FXWizard


No es cuestión de si se ponen las horas bien o mal, sino de si por ejemplo quieres usar el EA en ese horario, en este caso la apertura asiática.
Avatar de Usuario
Lucas Grijander
 
Mensajes: 437
Registrado: 20 Mar 2014, 14:46
Karma: 9

Re: programar horario de trabajo a un EA

Notapor FXWizard » 10 Mar 2015, 16:59

Lucas Grijander escribió:No es cuestión de si se ponen las horas bien o mal, sino de si por ejemplo quieres usar el EA en ese horario, en este caso la apertura asiática.


Touché! :thumbsup:

Saludos,
FXWizard
Avatar de Usuario
FXWizard
 
Mensajes: 8493
Registrado: 12 Feb 2008, 15:17
Karma: 35


Volver a Expert Advisors

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados