Como puedo establecer un rango de horas especificas para abrir ordenes en mql5 ????

 

Buenas y gracias de antemano.

tengo la siguiente situación deseo crear un rango de horas en un día especifico para abrir unas ordenes pero he buscado aquí y no he encontrado algo de referencia sobre el tema.


gracias de antemano

 
jbellido:

Buenas y gracias de antemano.

tengo la siguiente situación deseo crear un rango de horas en un día especifico para abrir unas ordenes pero he buscado aquí y no he encontrado algo de referencia sobre el tema.


gracias de antemano

Definimos las variables 


input int Hora_inicio=9;

input int Minuto_inicio=0;

input int Hora_final=11;

input int Minuto_final=0;


luego dentro del metodo 

void OnTick()

  {

   MqlDateTime time_now;

   TimeCurrent(time_now);

if((time_now.hour>=Hora_inicio &&  time_now.min>=Minuto_final ) && (time_now.hour<=Hora_final &&  time_now.min<=Minuto_final ))

          {

              //aqui van los otros procesos

           }

}

Listo...

 

Asi funciona si queres hacerlo nadar de las 22 horas a las 5 hs por ejemplo


int HorarioDesde = 22;

int HorarioHasta = 5;


datetime TiempoLocal = TimeLocal(); 

MqlDateTime TiempoEstrcutura;

TimeToStruct(TiempoLocal,TiempoEstrcutura);   

int hora = TiempoEstrcutura.hour;

   

int ActivaHorario=0;

   if ((HorarioDesde < HorarioHasta) && (hora>=HorarioDesde && hora<=HorarioHasta)) {

       ActivaHorario =1;

   }

    if ((HorarioDesde > HorarioHasta) && (hora>=HorarioDesde || hora<HorarioHasta)) {

      ActivaHorario =1;

   }


       if(ActivaHorario == 1) { 

   Aca podes abrir la posicion.


}

Razón de la queja: