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.
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. {
Allow the use of cookies to log in to the MQL5.com website.
Please enable the necessary setting in your browser, otherwise you will not be able to log in.
You are signed in. Two-factor authentication has been disabled. Set it up again and scan a new QR code, or continue with two-factor authentication disabled.
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.
Please show your code and explain how to reproduce the problem.
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.