Publi

Publi

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


  1. #11
    Avatar de indovinello
    Neanderthalensis


    Reputación:
    Poder de reputación: 17

    Bolivia
    Mensajes: 3.792
    Créditos: 12.975

    Re: ... Operador return()


    Publi
    Cita Iniciado por Vinisius Ver mensaje
    Muchas gracias robertomar.


    Osea si declaro una variable tipo boleana la puedo referenciar con true o false o 0 o 1.

    ¿ Pero indistintamente ?. Quiero decir:

    Declaro variable tipo boleano .... bool prueba=FALSE.

    Luego en el código puedo ponerle su valor numérico, por ejemplo cambiarle el valor de FALSE a true ... prueba=1
    Y si le cambio nuevamente el valor puedo ponerlo igualmente en valor númerico ... por ejemplo para volverlo de nuevo a FALSE estaría bién así ... prueba=0.

    ¿ De las 2 maneras estaría bién aunque en un principio la variable haya sido declarada con FALSE y no con 0 ?.


    Estoy destripando Robots y en uno de tipo martingala donde cuando se llega a la última progresión se abre otra operación en sentido contrario con el mismo numero de lotes en forma de protección y luego el trader manualmente decide si cerrar las operaciones o no. Pués bién, me encuentro lo siguiente:

    Declara una variable al comienzo de tipo integer (int). Esta decompilado (por eso salen esos nombres raros).

    int gi_196 = 0;


    Salta a la luz que no es del tipo boleano. Pero cuando me lo vuelvo a encontrar en el código parece que sea boleano ... no lo entiendo.

    Todas las referencias:

    if (gi_196 == FALSE) {
    Comment("\nCopyright 2011\n", "Cuenta Forex:", AccountServer(),
    "\n", "Fecha: ", Month(), "-", Day(), "-", Year(), " Hora servidor: ", Hour(), ":", Minute(), ":", Seconds());
    }

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

    if (ticket_0 == 0 && gi_196 == FALSE) {
    if (ticket_8 != 0) OrderDelete(ticket_8);
    if (ticket_16 != 0) OrderDelete(ticket_16);
    price_32 = Ask - gi_208 * Point;
    if (gi_208 <= 0) price_32 = 0;
    price_40 = Ask + gi_204 * Point;
    g_ticket_112 = OrderSend(Symbol(), OP_BUY, g_lots_144, Ask, 0, 0, 0, "COMPRA ", num_magic, 0, CLR_NONE);
    if (g_ticket_112 > 0) {
    OrderSelect(g_ticket_112, SELECT_BY_TICKET);
    OrderModify(OrderTicket(), OrderOpenPrice(), price_32, price_40, 0, CLR_NONE);
    }

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

    if (ticket_4 == 0 && gi_196 == FALSE) {
    if (ticket_12 != 0) OrderDelete(ticket_12);
    if (ticket_20 != 0) OrderDelete(ticket_20);
    price_32 = Bid + gi_208 * Point;
    if (gi_208 <= 0) price_32 = 0;
    price_40 = Bid - gi_204 * Point;
    g_ticket_112 = OrderSend(Symbol(), OP_SELL, g_lots_144, Bid, 0, 0, 0, "VENTA ", num_magic, 0, CLR_NONE);
    if (g_ticket_112 > 0) {
    OrderSelect(g_ticket_112, SELECT_BY_TICKET);
    OrderModify(OrderTicket(), OrderOpenPrice(), price_32, price_40, 0, CLR_NONE);
    }

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

    Y así unos cuantos más de if (ticket_? == 0 && gi_196 == FALSE { ... etc

    Pero es que además, luego más adelante en el codigo, cambia su valor a TRUE. Si está declarado como integer como es que se comporta como tipo boleano ?.



    for (int pos_160 = 0; pos_160 < OrdersTotal(); pos_160++) {
    if (OrderSelect(pos_160, SELECT_BY_POS, MODE_TRADES)) {
    if (OrderMagicNumber() == num_magic && gi_196 == FALSE && Max_Protec == TRUE) {
    if (OrderType() == OP_BUY) g_order_lots_160 = OrderLots();
    if (OrderType() == OP_SELL) g_order_lots_168 = OrderLots();
    if (g_order_lots_160 == MaxiLot) {
    f0_0();
    g_lots_224 = 2.0 * (g_order_lots_160 - g_order_lots_168);
    g_ticket_112 = OrderSend(Symbol(), OP_SELL, g_lots_224, Bid, 0, 0, 0, "PROTECCION COMPRAS", num_magic, 0, CLR_NONE);
    for (pos_152 = 0; pos_152 < OrdersTotal(); pos_152++) {
    bool sel4=OrderSelect(pos_152, SELECT_BY_POS, MODE_TRADES);
    if (OrderSymbol() == Symbol() && OrderType() == OP_BUY && ticket_0 != 0 && OrderMagicNumber() == num_magic) bool mod4=OrderModify(OrderTicket(), OrderOpenPrice(), 0, 0, 0, CLR_NONE);
    }
    Comment("\n Trading en cuenta : " + AccountNumber() + " ¡PROTEGIENDO COMPRAS! ");
    gi_196 = TRUE;
    }
    if (g_order_lots_168 == MaxiLot) {
    f0_0();
    g_lots_224 = 2.0 * (g_order_lots_168 - g_order_lots_160);
    g_ticket_112 = OrderSend(Symbol(), OP_BUY, g_lots_224, Ask, 0, 0, 0, "PROTECCION VENTAS", num_magic, 0, CLR_NONE);
    for (pos_152 = 0; pos_152 < OrdersTotal(); pos_152++) {
    bool sel5=OrderSelect(pos_152, SELECT_BY_POS, MODE_TRADES);
    if (OrderSymbol() == Symbol() && OrderType() == OP_SELL && ticket_4 != 0 && OrderMagicNumber() == num_magic) bool mod5=OrderModify(OrderTicket(), OrderOpenPrice(), 0, 0, 0, CLR_NONE);
    }
    Comment("\n Trading en cuenta : " + AccountNumber() + " ¡PROTEGIENDO VENTAS! ");
    gi_196 = TRUE;
    }
    }
    }
    }
    } else {
    Comment("ROBOT PARADO");
    return;
    }
    return;
    }


    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Sí, indistintamente, pero mejor no lo hagas por que cuando otra persona con tu misma duda lea el código volverá a estar en la misma situación de incertidumbre: el código,cuanto más pulcro y claro mejor.

    Un integer también puede comportarse como un booleano. El compilador sabe hacer "cast" de tipos cuando estos son compatibles, pero habitualmente lanza un warning. Los cast funcionan bien Casi siempre, pero hay veces que un cast puede llevar a un bug o malfuncionamiento del programa.

    Saludos.
    Foro de Forex Trading United




  2.                         
    Publi
  3. #12
    Avatar de robertomar
    Heidelbergensis


    Reputación:
    Poder de reputación: 9

    Espana
    Mensajes: 905
    Créditos: 15.929

    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

     

  4. #13
    Avatar de Vinisius
    Erectus


    Reputación:
    Poder de reputación: 5

    Espana
    Mensajes: 309
    Créditos: 50

    Re: ... Operador return()

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


    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.
    Foro de Forex Trading United

     

  5. #14
    Avatar de indovinello
    Neanderthalensis


    Reputación:
    Poder de reputación: 17

    Bolivia
    Mensajes: 3.792
    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




  6. #15
    Avatar de Vinisius
    Erectus


    Reputación:
    Poder de reputación: 5

    Espana
    Mensajes: 309
    Créditos: 50

    Re: ... Operador return()

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

    jajaja claro.


    Pero ya que estábamos ...


    Muchaaaaaaaaaas gracias a ti y a robertomar.

    Por cierto, ¿ sabeis de algún programador que sepa cambiarme lo que hace este robot al llegar a la última progresion, que en vez de abrirme una operacion de sentido contrario con los mismos lotajes , simplemente me ponga un stop loss y no meta esa operación contraría ?. Y que además sepa ponerme nombre a las variables o al menos a la mayoría de ellas para que se entiendan ?.

    Saludos.

    - - - Updated - - -

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

    Al menos ... esa gi_196 a que carajo se refiere. Hay otras que yo mismo les he cambiado el nombre y hay otrás que estoy en la duda.

    Por lo que para un programador más o menos de nivel medio se lo hace en un periquete.

    Saludos.
    Foro de Forex Trading United

     

  7. #16
    Avatar de indovinello
    Neanderthalensis


    Reputación:
    Poder de reputación: 17

    Bolivia
    Mensajes: 3.792
    Créditos: 12.975

    Re: ... Operador return()

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

    jajaja claro.


    Pero ya que estábamos ...


    Muchaaaaaaaaaas gracias a ti y a robertomar.

    Por cierto, ¿ sabeis de algún programador que sepa cambiarme lo que hace este robot al llegar a la última progresion, que en vez de abrirme una operacion de sentido contrario con los mismos lotajes , simplemente me ponga un stop loss y no meta esa operación contraría ?. Y que además sepa ponerme nombre a las variables o al menos a la mayoría de ellas para que se entiendan ?.

    Saludos.
    Alguien que trabaje en los grupos, igual te podría ayudar, sin embargo vamos muy cargados de trabajo.

    Luisfx (moderador) conoce también programadores y demás, igual te puede hechar una mano.

    Saludos.
    Foro de Forex Trading United




  8. #17
    Avatar de Vinisius
    Erectus


    Reputación:
    Poder de reputación: 5

    Espana
    Mensajes: 309
    Créditos: 50

    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

     

  9. #18
    Avatar de Vinisius
    Erectus


    Reputación:
    Poder de reputación: 5

    Espana
    Mensajes: 309
    Créditos: 50

    Re: ... Operador return()

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


    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

     

  10. #19
    Avatar de Puk33
    Heidelbergensis


    Reputación:
    Poder de reputación: 13

    Mensajes: 2.152
    Créditos: 1.961

    Re: ... Operador return()







    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...

  11. #20
    Avatar de indovinello
    Neanderthalensis


    Reputación:
    Poder de reputación: 17

    Bolivia
    Mensajes: 3.792
    Créditos: 12.975

    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.
    " In this case, the zero value will be interpreted as false, and all other values - as true."

    Bool Type - MQL4 Documentation


    Saludos.
    Foro de Forex Trading United




Página 2 de 3 PrimerPrimer 123 ÚltimoÚltimo
Publi
Publi


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