Olvidé mencionar que es en MQL4
//---Conseguir el número de ticket de la última operación cerrada int get_last_order( int type = -1, int mode = MODE_TRADES ) { int orders_total = 0, ticket = -1; string symbol = Symbol(); datetime opn_time = 0, ord_time = 0; if( mode == MODE_HISTORY ) orders_total = OrdersHistoryTotal(); else orders_total = OrdersTotal(); for( int i = 0; i < orders_total; i++ ) { if( OrderSelect( i, SELECT_BY_POS, mode ) ) { if( OrderSymbol() != symbol )continue; if( OrderType()==type && (OrderMagicNumber() == magic || magic == 0) ) { if( mode == MODE_TRADES ) ord_time = OrderOpenTime(); else ord_time = OrderCloseTime(); if( ord_time > opn_time ) { opn_time = ord_time; ticket = OrderTicket(); } } } else { ticket = -1; break; } }//end for return(ticket); } //---Averiguar el profit de la última operación double Lx(int type_) // 0=compras, 1=ventas { double Lx1=0; int ultimoTrade=get_last_order(type_,MODE_HISTORY); if( OrderSelect(ultimoTrade,SELECT_BY_TICKET,MODE_HISTORY)) { Lx1=OrderProfit(); } return (Lx1); }
Para compras usas Lx(0) y para ventas usas Lx(1)
Espero te sirva,
Saludos!!!
Miguel Antonio Rojas Martinez:
Para compras usas Lx(0) y para ventas usas Lx(1)
Espero te sirva,
Saludos!!!
Muchísimas gracias!
Lo voy a probar.
Miguel Antonio Rojas Martinez:
Para compras usas Lx(0) y para ventas usas Lx(1)
Espero te sirva,
Saludos!!!
Listo, ya lo probé, me funcionó muy bien, muchísimas gracias!!!
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Hola a todos!
Encontré un código en una librería en la sección de "Documentación" para obtener el ticket de la última operación cerrada, y lo que quiero es obtener el Profit (positivo o negativo) de esta última operación.
Les adjunto el código, para ver si ustedes me pueden ayudar a solucionarlo.
La función para obtener el número de ticket funciona muy bien, pero el valor que obtengo de la función "Lx" es siempre "-0.1" y no entiendo por qué, lo que quiero es obtener el valor del Profit de la última operación cerrada.
Espero me puedan ayudar, muchas gracias de antemano!