Metatrader 4 ... Operador return() - Página 2

 

Publi

... Operador return()

 

Publi

Página 2 de 3 PrimerPrimer 123 ÚltimoÚltimo
Resultados 11 al 20 de 26


  1. #11
    Avatar de Puk33
    Heidelbergensis


    Reputación:
    Poder de reputación: 20

    Mensajes: 2.123
    Créditos: 1.961

    Re: ... Operador return()


    Publi






    Cita Iniciado por Vinisius Ver mensaje
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


    Hay madre ... ya la hemos liado.


    He ido a esta pagina Programacion en MQL4. Tipos de Data

    y dice lo contrario que nosotros.

    0 es true y 1 es false.


    Pensaba que ya lo tenía solucionado y mi gozo en un pozo.

    Joder ... con la programación de los cojones.
    Foro de Forex Trading United


    Solo los intrépidos llegan...

  2. Publi
    Publi


  3. #12
    Avatar de Vinisius
    Erectus


    Reputación:
    Poder de reputación: 12

    Espana
    Mensajes: 312
    Créditos: 126

    ... Operador return()

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


    Buenas a tod@s.


    LLevo ya unas cuantas semanas estudiando el código MQL4 para intentar aprenderlo.
    Salve decir que nunca he estudiado programación de ningún tipo por lo que la pregunta o cuestión que voy a plantear seguramente les resultará a la mayoría de Ustedes irrisoría pero les aseguro que para mí no lo es.

    Mi duda es sobre el operador return().

    Simplemente quería preguntaros si hay alguna diferencia entre:

    return;
    return();
    return(0);

    A mi me parece que son lo mismo pero he pensado que mejor preguntarlo que no cuesta nada.

    También he leído por ahí, aunque en ingles y medio entendiéndolo, que return(0) retornaría false y return(1) retornaría true. Pero me parece que no es así, y lo abre entendido mal.


    A ver si podeis echarme una mano , please.

    Gracias.
    Foro de Forex Trading United

  4. #13

    ergaster


    Reputación:
    Poder de reputación: 5

    Espana
    Mensajes: 29
    Créditos: 1.212

    Re: ... Operador return()

    ( Muy buenas retomar, oye no te permiten enviar mensajes privados para trabajo porque lo tienes lleno segun la aplicación ). un saludo .
    Foro de Forex Trading United

  5. #14
    Avatar de Vinisius
    Erectus


    Reputación:
    Poder de reputación: 12

    Espana
    Mensajes: 312
    Créditos: 126

    Re: ... Operador return()

    --------------------------------------------------------------------------------------------------------------------------------------------


    Conozco uno de pago por 5 euros.

    Le voy a dar el toque.



    Gracias de nuevo.

    Voy a probar de darte reputación de nuevo , pero me temo que no me va a dejar.

    Saludos.
    Foro de Forex Trading United

  6. #15
    Avatar de indovinello



    Reputación:
    Poder de reputación: 24

    Bolivia
    Mensajes: 3.773
    Créditos: 12.975

    Re: ... Operador return()

    Cita Iniciado por Vinisius Ver mensaje
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------


    Hola indovinello y robertomar.

    Gracias por vuestras ayudas.

    He probado de poner en la primera declaración de la variable int gi_196 = 1 y bool gi_196 = FALSE y bool gi_196 = TRUE y al compilar no dá error en ninguno de estos casos.

    Pero .... también he puesto int gi_196 = 2 y int gi_196 = 3 y bool gi_196 = 2 y bool gi_196 = 3 .... y tampoco me sale error al compilar.

    ¿No debería salirme error fuera del valor 0 y 1 ?. osea en 2 y 3 debería haberme dado error , ¿no?.

    Gracias.
    Ja ja, creo que todo lo que no sea 0 lo entiende como si fuera 1. Pero ¿para qué? todo eso del 2 u otros valores como valores lógicos no se debería utilizar.

    Saludos.
    Foro de Forex Trading United




  7. #16

    Re: ... Operador return()

    Pues en este caso no lo se compañero, nunca había visto una variable bool definida como int, quizá sea por lo que te dijo Indovinello, que las bool internamente las maneja como int con únicamente 2 valores (0 = false y 1 = true), y por tanto han aprovechado eso y la han definido así, desconozco el motivo o el objetivo.

    Tendría que ver todo el código, o bien también puedes hacer una cosa, arriba donde la define, prueba a cambiarla (le pones bool gi_196 = 0, o bool gi_196 = false) y ver si todo funciona igual o no.

    De momento no se me ocurre otra cosa, jajaja.

    Saludos y abrazos
    Foro de Forex Trading United

  8. #17

    Re: ... Operador return()

    Pues eso, aclarado, yo en tu lugar haría lo que dice Indovinello. Cuanto más preciso posible y menos transformaciones entre tipos de variables le hagamos hacer al compilador mejor, para qué complicarnos???.

    Los EAs encontrados por internet no siempre están con código super depurado y super bien estructurado, depende de quien lo haya hecho y tal pueden variar y a veces hasta tener errores (inclusive los de pago) o ser código antiguo y ya no funcionar correcto con los nuevos compiladores.

    Saludos y al toro, jajaja.
    Foro de Forex Trading United

  9. #18

    Re: ... Operador return()

    Efectivamente Vinisius, tal como te comenté y tal como tú también comentas en el post anterior, el cierre de la llave implica implícitamente un return a secas sin valor o expresión asignado (que es como hay que hacerlo con las variables void). Por eso en tales variables mucha gente no pone return por ninguna parte.

    Aquí el enlace donde lo explica: Return Operator - MQL4 Documentation


    Si le asignas un valor en el return a una varibale void, dependiendo del compilador y de si le has metido arriba el modificador de compatibilidad del lenguaje viejo con el nuevo (denominado #property strict), unas veces te dará error y otras te dará alerta pero no error. Pero vamos que no asignes ningún valor (no le pongas return(0) a una void, sino return a secas o cierre de llave directamente).

    OJO!!, que en lenguaje viejo las funciones init(), deinit() y start() eran de tipo int, por lo que tenían que retornar valor, pero en el código nuevo OnDeinit(), OnStart() y OnTick() han de ser de tipo void forzosamente, por lo que no deben retornar valor alguno (puedes poner el return a secas o no poner nada, sino el cierre de llave directamente), y la función OnInit() puede ser void o int, según lo que se necesite, por lo que debería retornar valor o no, según se haya definido.

    Respecto a las bool, efectivmante, según ésto, parece que da lo mismo si le pones true que 1, y también da igual si le pones false que 0, tal como te comenta Indovinello: Bool Type - MQL4 Documentation

    Creo que esas eran las preguntas por el momento, o me dejé alguna???, jajaja

    Saludos y abrazos
    Foro de Forex Trading United
    Última edición por robertomar; 08:19 a las


  10. #19
    Avatar de Vinisius
    Erectus


    Reputación:
    Poder de reputación: 12

    Espana
    Mensajes: 312
    Créditos: 126

    Re: ... Operador return()

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Muchas gracias robertomar y indovinello.

    Os he dado reputación a ambos.

    He entendido perfectamente el 99% de lo que me habéis explicado.

    Según entiendo para una función personalizada ... si se pone return(0) si que importa según las variables que hayamos referenciado por que devuelve el valor 0. Además debe ser del tipo referenciado int, double, bool , date time, string (no sé si me dejo alguno).

    Si es de tipo void se puede omitir el return por que este tipo de función no retorna nada. En todo caso si ponemos return, return() o return(0) no ocurriría nada porque no cogería ningún valor ¿correcto?. ¿no daría ningún tipo de error ?... ¿simplemente ignoraria el return (lo que sea) ?.

    Pero si es tipo Función especial Oninit(), OnDeinit(), OnTick()) si debe ponerse obligatoriamente el operador return al acabar la función especial pero dá igual poner return; () (0) (1) (2) etc... porque en estas funciones especiales no coge ningún valor que pueda haber entre paréntesis después del return , ¿correcto?.

    Los del tipo boleano no los entiendo muy bién. Seguramente se utilizaran en la mayoría de los casos los condicionantes if y else. Pero el valor de retorno para false debe ser return(false) o return(0) y para true debe ser return(true) o return(1) ??? . ¿podríais ponerme algún ejemplo para el tipo boleano ?.

    Gracias. Ya casi lo tengo.

    Saludos.
    Foro de Forex Trading United

  11. #20
    Avatar de Vinisius
    Erectus


    Reputación:
    Poder de reputación: 12

    Espana
    Mensajes: 312
    Créditos: 126

    Re: ... Operador return()


    Publi
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


    Hay madre ... ya la hemos liado.


    He ido a esta pagina Programacion en MQL4. Tipos de Data

    y dice lo contrario que nosotros.

    0 es true y 1 es false.


    Pensaba que ya lo tenía solucionado y mi gozo en un pozo.

    Joder ... con la programación de los cojones.
    Foro de Forex Trading United

Página 2 de 3 PrimerPrimer 123 ÚltimoÚltimo
This website uses cookies
Utilizamos cookies propias y de terceros para elaborar información estadística y mostrarle publicidad personalizada a través del análisis de su navegación. Si continúa navegando acepta su uso. Más información y política de cookies.
     

 

Publi


Aviso Legal
Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal