Publi

Publi

Página 2 de 2 PrimerPrimer 12
Resultados 11 al 14 de 14


  1. #11
    Avatar de robertomar
    Heidelbergensis


    Reputación:
    Poder de reputación: 9

    Espana
    Mensajes: 905
    Créditos: 15,929

    Re: EA no respetando función "if" dentro de otro "if"


    Publi
    Justo, muy bien explicado Striker. Encima iba a comentar yo ahora lo mismo, así que me has ahorrado hasta tiempo. Gracias, jajajaja

    Saludos y un abrazo.
    Foro de Forex Trading United

     

  2.                         
    Publi
  3. #12

    antecessor


    Reputación:
    Poder de reputación: 8

    Venezuela
    Mensajes: 597
    Créditos: 2,154

    Re: EA no respetando función "if" dentro de otro "if"

    Cita Iniciado por striker Ver mensaje
    ...Yo asumí antes que las condiciones eran excluyentes. Supongamos.. condicion1 es que el precio sea < ema100 y la condición 2 es que el precio sea >= ema100. En ese caso el resultado debería ser el mismo con o sin elseif porque es imposible que el precio esté arriba y abajo de la ema100 al mismo tiempo...
    Exactamente striker. Tal como mencioné en la pregunta inicial, ambas condiciones son contradictorias entre sí. Por eso mi gran confusión y el motivo por el que hago la pregunta.

    Cita Iniciado por yokinfx Ver mensaje
    ...Si lo que has escrito es

    Código:
    if (condicion1)
        {
         if (condicion1A) Alert("cond1A)
        }
    if (condicion2)
        {
        if (condicion2A) Alert("cond2A");
        }
    Ese código me parece totalmente igual funcionalmente a

    Código:
    if (condicion1 && condicion1A) Alert("cond1A");
    if (condicion2 && condicion2A) Alert("cond2A");
    Vamos, que hacen exactamente lo mismo...
    Así fue como lo aprendí, pero como no tengo mucha experiencia en programación, pregunté por si me estaba pasando algo que otro conociera y me supiera decir algo para evitar suceda de nuevo.

    Por sus respuestas, pues ahora estoy pensando se tratase de algun error de algo asociado a mi PC en el momento o algo así que no tenga como origen el mql4, pues me extraña que no haya recibido ninguna respuesta de un programador diciéndo que le había pasado y se asegura no vuelve a pasar pasar haciendo tal o cual (eso fue lo que pensé que alguien iba a responderme, y otros diciendo lo mismo). ¿Aunque supongo que entonces el "else if" es un poco mas exigente? es decir, ¿para mql4 no es lo mismo "if" que "else if" internamente?

    Cita Iniciado por yokinfx Ver mensaje
    ...Si pudieras poner el código exacto que te falla podríamos evaluar el por qué de ese comportamiento extraño...
    Cita Iniciado por striker Ver mensaje
    ... Por eso es importante para que Trader201 entienda qué sucedió, nos explique o copie textualmente su código.
    El código exacto que puse lo he modificado, porque estaba haciendo pruebas y cambiando códigos, tal como mencioné en la pregunta:

    Cita Iniciado por trader201 Ver mensaje
    Saludos compañeros. Siento no colocar el código, pues estoy practicando programación y haciendo varios códigos, y los he modificado. Sin embargo hoy estuve pensando en algo que me sucedió en estos días, y quisiera saber si sucedió por algo conocido y puedan explicárme como resolverlo...
    Si recuerdo que me puse a revisar el código cuando me pasó, porque me pareció muy extraño. No vi ningún error. Me puse a pensar y se me ocurrió poner las dos condiciones en un mismo "if" a ver que pasaba, y así sí me funcionó (tal como escribí antes lo que hice cuando me funcionó). Como funcionó, simplemente seguí haciendo pruebas. Con los días fue que me puse a pensar en lo que me había pasado, y puse la pregunta.

    Lo que puedo hacer es colocar los códigos en la primera manera en que lo estaba haciendo, y si me pasa nuevamente, colocar el código con el pantallazo de los dos mensajes generándose (ya que estoy haciendo pruebas utilizando función Alert).

    Saludos, y gracias por las respuestas.
    Foro de Forex Trading United

     

  4. #13

    antecessor


    Reputación:
    Poder de reputación: 3

    Peru
    Mensajes: 405
    Créditos: 1,829

    Re: EA no respetando función "if" dentro de otro "if"

    Cita Iniciado por trader201 Ver mensaje
    Exactamente striker. Tal como mencioné en la pregunta inicial, ambas condiciones son contradictorias entre sí. Por eso mi gran confusión y el motivo por el que hago la pregunta.

    Así fue como lo aprendí, pero como no tengo mucha experiencia en programación, pregunté por si me estaba pasando algo que otro conociera y me supiera decir algo para evitar suceda de nuevo.

    Por sus respuestas, pues ahora estoy pensando se tratase de algun error de algo asociado a mi PC en el momento o algo así que no tenga como origen el mql4, pues me extraña que no haya recibido ninguna respuesta de un programador diciéndo que le había pasado y se asegura no vuelve a pasar pasar haciendo tal o cual (eso fue lo que pensé que alguien iba a responderme, y otros diciendo lo mismo). ¿Aunque supongo que entonces el "else if" es un poco mas exigente? es decir, ¿para mql4 no es lo mismo "if" que "else if" internamente?

    .
    Disculpa, se me debe haber pasado que mencionaras que eran contradictorias.

    No creo que sea un error asociado a tu pc o algo así. Las cosas no funcionan así, sobretodo en el trading donde la data realmente no la creas tu (los precios, los tiempos, todo eso viene del broker y no creo que se equivoquen). Es un poco complicado explicar y espero no ser duro pero estoy seguro que el error ha sido tuyo, como te digo un error de sintaxis (que escribiste mal algo). En tu comentario pones "condicion1" pero no sabemos cómo realmente lo evalúas, si no veo el código, no te puedo dar una explicación. Lo cierto es que tu lógica está bien. La lógica de tu código no tiene ningún error si las condiciones son contradictorias, por ello creo que simplemente escribiste algo mal.

    If y else if no son lo mismo y no se pueden comparar. El "else if" está contenido dentro de un if y son evaluaciones que pueden ser en teoría infinitas pero que tienen una prioridad, cuando se cumpla la condición X, las condiciones siguientes ya no se evaluarán.

    Supongamos que tu estrategia compra, vende o lo que sea dependiendo de los valores de rsi..

    If (rsi>80) {
    sell
    }
    elseif (rsi<30){
    buy
    }
    elseif (rsi>50)
    {
    alert1
    }
    elseif (rsi<50)
    {
    alert2
    }

    Eso quiere decir que si se cumple la primera, ya no evaluará las otras 3, si supongamos que ya sabes que rsi>80, para qué vas a perder tiempo revisando si es menor que 30? Se puede hacer separado en if, pero como te digo, no es lo óptimo.

    Ahora, también existe el "else", que también está contenido dentro de un if, pero en ese caso se ejecutará siempre que el if (o elseif anteriores) no se cumplan.

    If (rsi>80) {
    sell
    }
    elseif (rsi<30){
    buy
    }
    else
    {
    Alert: no hay sobre compra o sobreventa
    }

    En este caso, evalúa si hay cobre compra, sino, evalúa si hay sobreventa sino, te manda una alerta diciendo que no hay nada pero ya independientemente del valor de rsi.

    Espero haber aclarado en algo tus dudas y no haberte complicado más
    Foro de Forex Trading United

     

  5. #14

    antecessor


    Reputación:
    Poder de reputación: 8

    Venezuela
    Mensajes: 597
    Créditos: 2,154

    Re: EA no respetando función "if" dentro de otro "if"


    Publi
    Cita Iniciado por striker Ver mensaje
    Disculpa, se me debe haber pasado que mencionaras que eran contradictorias...
    Según colocaste en una respuesta creo que lo habías entendido bien:

    Cita Iniciado por striker Ver mensaje
    ..Yo asumí antes que las condiciones eran excluyentes. Supongamos.. condicion1 es que el precio sea < ema100 y la condición 2 es que el precio sea >= ema100...


    Cita Iniciado por striker Ver mensaje
    ...No creo que sea un error asociado a tu pc o algo así. Las cosas no funcionan así, sobretodo en el trading...estoy seguro que el error ha sido tuyo, como te digo un error de sintaxis (que escribiste mal algo)...
    Bueno, imposible no es. Hasta comencé a pensar, luego de leer sus respuestas, que como estaba haciendo muchas pruebas de códigos, pues podría ser que aunque lo haya revisado, del cansancio y tantas pruebas haya visto otra cosa.



    Concluyo que se haya tratado de un error mio de sintaxis y no del programa.
    Saludos y gracias a todos de nuevo por sus respuestas.
    Foro de Forex Trading United

     

Página 2 de 2 PrimerPrimer 12
Publi
Publi


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