Error al compilar codigo

Foro para cuestiones generales sobre la plataforma MetaTrader 4.

Error al compilar codigo

Notapor Hobby » 04 Jun 2014, 21:26

Necesito ayuda para arreglar código para pasarlo al nuevo código del MT4.

Me dá error al compilar código. Me pone lo siguiente; return value of 'OrderSelect' should be checked

La línea de error es esta:

OrderSelect(ticket, SELECT_BY_TICKET);

La pongo en su contexto:

{
if (true)
{
OrderSelect(ticket, SELECT_BY_TICKET);
bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Blue);
if (ret == false)
Print("OrderModify() error - ", ErrorDescription(GetLastError()));
}


Si hubiera alguna web que explicara los errores que nos podemos encontrar al compilar con el nuevo compilador del MT4 y que explique como modificarlos para quitarles los errores sería genial.

Gracias.

Saludos.
Hobby
 
Mensajes: 335
Registrado: 02 Abr 2014, 14:24
Karma: 0

Re: Error al compilar codigo

Notapor Andrest » 04 Jun 2014, 21:44

Pero ese error si no voy mal, es solo una alerta o advertencia no? almenos recuerdo que me ha salido varias veces y no le di importancia porque me lo compilaba igual
“No sirve para nada proclamar la verdad en economía o recomendar cosas útiles. Es la mejor manera de hacerse enemigos” A. Kostolany
“El optimismo es el enemigo del comprador racional” Warren Buffet
...
Avatar de Usuario
Andrest
 
Mensajes: 960
Registrado: 23 Ene 2014, 19:24
Karma: 31

Re: Error al compilar codigo

Notapor Hobby » 04 Jun 2014, 23:05

Hola Andres.

Si, es solo una adventencia, compila igual pero a mí me gusta hacer las cosas bién.

Manias de uno.

Saludos.
Hobby
 
Mensajes: 335
Registrado: 02 Abr 2014, 14:24
Karma: 0

Re: Error al compilar codigo

Notapor Andrest » 05 Jun 2014, 00:30

Bueno... de hecho no creo que yo lo este haciendo las cosas "MAL"...

Simplemente es una alerta por la manera de poner las ordenes pendientes que tienen los EA builders, porque veo que ademas pasa en todos.

Te dejo la respuesta de fxdreema:

This is compile warning, not error. It's not wrong, only MQL4 does not like it.

Un saludo! ;)
“No sirve para nada proclamar la verdad en economía o recomendar cosas útiles. Es la mejor manera de hacerse enemigos” A. Kostolany
“El optimismo es el enemigo del comprador racional” Warren Buffet
...
Avatar de Usuario
Andrest
 
Mensajes: 960
Registrado: 23 Ene 2014, 19:24
Karma: 31

Re: Error al compilar codigo

Notapor Hobby » 05 Jun 2014, 02:55

Andrest escribió:Bueno... de hecho no creo que yo lo este haciendo las cosas "MAL"...

Simplemente es una alerta por la manera de poner las ordenes pendientes que tienen los EA builders, porque veo que ademas pasa en todos.

Te dejo la respuesta de fxdreema:

This is compile warning, not error. It's not wrong, only MQL4 does not like it.

Un saludo! ;)



Andres.

Yo creo que " SI " estas haciendo las cosas "MAL" .¿ No te enseñó tu mamá a no jugar con los semáforos ?. :mrgreen: :mrgreen:

Bueno ... ¿alguien sabe como arreglar el "No error" ?. :D

Saludos.
Hobby
 
Mensajes: 335
Registrado: 02 Abr 2014, 14:24
Karma: 0

Re: Error al compilar codigo

Notapor FXWizard » 05 Jun 2014, 10:21

Hobby, tiene razón Andrest, no es más que una advertencia de qué código no es del gusto de los señores de Metaquotes pero te puedo asegurar que esa advertencia se da con el 99.99% de los EAs que hay por la Red, no porque estén mal sino porque desde la versión 600 de Metatrader han cambiado por completo el Metaeditor y produce esa advertencia casi por defecto (supongo que el objetivo es asustar a los usuarios para que se pasen a Metatrader 5 que seguramente no dé esos errores).

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

Re: Error al compilar codigo

Notapor Hobby » 05 Jun 2014, 15:05

OK.

Entonces nada de que preocuparse.

Gracias Andres y gracias FXWizard.


Saludos.
Hobby
 
Mensajes: 335
Registrado: 02 Abr 2014, 14:24
Karma: 0

Re: Error al compilar codigo

Notapor mascara » 05 Jun 2014, 15:39

Por lo que pone en la documentación del mql4 essa función OrderSelect devuelve un valor bool ( verdadero o falso ) según si ha tenido éxito o no... El mensaje te dice, que ese valor de retorno no lo estás recogiendo, por tanto, no sabes si ha tenido éxito la llamada o no y tu programa sigue funcionando asumiendo que sí, cuando no tendría por qué... Vamos que no es obligatorio recuperar ese valor y actuar en consecuencia pero sí recomendable...

Prueba a cambiar
OrderSelect(... por
bool retorno = OrderSelect(...
y yo creo que se te quitaría( aunque después deberías añadir qué hacer si retorno es false... por dejarlo fino ;) )...
mascara
 
Mensajes: 41
Registrado: 29 Jun 2012, 12:37
Karma: 3


Volver a MetaTrader 4

¿Quién está conectado?

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

cron