Download MetaTrader 5

HistorySelect works not properly - page 2

To add comments, please log in or register
Alain Verleyen
Moderator
34525
Alain Verleyen  
Roberto Jacobs:

Your logic code is not clear.

try changing variable input properties   ==> time_start = 1*PeriodSeconds (PERIOD_M1);

also in OnInit() time_start=TimeCurrent(); change with ==> time_start = 1*PeriodSeconds (PERIOD_M1);

and on the last line scan_orders function,

aso replace the variable time_start = 1*PeriodSeconds (PERIOD_M1);

I never experienced any problems with HistorySelect().

That's a old post Roberto.
Roberto Jacobs
49039
Roberto Jacobs  
Alain Verleyen:
That's a old post Roberto.
Wow.. sorry boss..! ^_^
Gustavo Hennemann
232
Gustavo Hennemann  
Alain Verleyen:
Please show your code and explain how to reproduce the problem.
Sorry Alain Varleyen, it was my mistake! Too bad!
Roger Perez Lugo
131
Roger Perez Lugo  

Hola amigos tengo un problema a ver si me pueden ayudar. El problema es en mql5 en la función HistoryOrdersTotal() voy a poner 2 ejemplos.

Ejemplo 1

 HistorySelect(0,TimeCurrent());
 
 int Ordenes_Cerradas=HistoryOrdersTotal();  // El problema esta aquí. Por poner un ejemplo no entiendo porque si aun no se a cerrado la orden me la agrega a HistoryOrdersTotal() cuando debería ser una vez cerrada la orden como es en Metatrader4.

Comment("Valor de orden cerrada = "Ordenes_Cerradas);



Ejemplo 2

//Buscando ordenes abiertas.

ulong Ticket1;

int Ordenes_de_Este_EA=0;
int Total_de_Ordenes= PositionsTotal();

for(int i=0; i<Total_de_Ordenes;i++)
{

 if(Mis_posiciones.SelectByIndex(i)==true)
 {

 Ordenes_de_Este_EA++;

if(Ordenes_de_Este_EA <2)

{

Ticket1=Mis_posiciones.Ticket()//Aquí obtengo el numero de ticker de la orden abierta 1.Ticker que quiero buscar en el historial.

}


 }


//Buscar ticker en el historial.

 ulong order_ticket=0;
 
 HistorySelect(0,TimeCurrent());
 
 
 int Ordenes_Cerradas=HistoryOrdersTotal();  
 
 for(int i=0; i< Ordenes_Cerradas ; i++)
 
     {

   if((order_ticket=HistoryOrderGetTicket(i))>0)
   {
  
ulong Ticket_Cerrados =HistoryOrderGetInteger(order_ticket,ORDER_TICKET);
 


if(Ticket_Cerrados==Ticket1 )//Aquí comparo el ticker 1 que estaba abierto con los ticker cerrados a ver si ya esta el tickert en el historial es decir la alerta debería sonar una vez cerrada la orden pero el problema es que sin cerrar la orden suena la alerta.
{

Alert("Tickert Encontrado");

}



}

}

Un saludo muchas gracias.

12
To add comments, please log in or register