Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 891

 
Buenas tardes! Siempre después de deshabilitar y habilitar"Permitir que el EA opere" se abre una posición que no debería abrirse. Supongo que esto se debe a que las variables no se restablecen. ¿Cómo puedo activar o desactivar "Permitir que el EA opere" y restablecer todas las variables, tal y como están después de reiniciar la plataforma MT4?
 
abeiks:
Buenas tardes! Siempre después de deshabilitar y habilitar "Permitir que el EA opere" se abre una posición que no debería abrirse. Supongo que esto se debe a que las variables no se restablecen. ¿Cómo puedo restablecer todas las variables después de activar o desactivar "Permitir que el EA opere", tal y como están después de reiniciar la plataforma MT4?
Sólo hay que restablecer esas variables en el momento en que se desmarca esta casilla y no tocarlas hasta que un usuario la vuelva a activar. Vigilar el MQLInfoInteger(MQL_TRADE_ALLOWED).
 
evillive:
Sólo hay que restablecer esas variables en el momento en que se desmarca esta misma casilla y no volver a tocarlas hasta que un usuario la vuelva a activar. Vigilar el MQLInfoInteger(MQL_TRADE_ALLOWED).
Gracias.
 
evillive:
Sólo hay que restablecer esas variables en el momento en que se desmarca esta misma casilla y no volver a tocarlas hasta que un usuario la vuelva a activar. Vigilar el MQLInfoInteger(MQL_TRADE_ALLOWED).
¿Existe una manera de asegurar que después de IsTradeAllowed()==false el experto sea eliminado y recargado ( experto: eliminado ; experto: cargado con éxito)?
 
evillive:

Esta es la misma ramificación que if(), sólo que se ve más ordenada y es más fácil de codificar si hay tres o más opciones simples de enteros para elegir. Si sólo hay dos variantes, o se comparan expresiones no enteras, entonces sólo si(). Además, con if() puedes combinar varias opciones (if( opción1 && opción2 || opción3 ) {acción;}), mientras que switch no puede hacerlo directamente, sólo de una en una.

cambiar
si()
cambiar (x)
{
caso 1: acción sobre la opción 1; break;
caso 2: acción sobre la opción 2; break;
caso 3: acción sobre la opción 3; break;
por defecto: acción por defecto; break;
}
if( case1 ) { acción en caso 1; }
else if( option2 ) { acciones por opción 2; }
else if( option3 ) { acciones por opción 3; }
else { acción por defecto; }

Gracias. No he visto tal comparación en el tutorial, aunque quizás es que estoy leyendo fuera de orden.

De todos modos, esto es exactamente lo que un principiante espera de un profesional: que le revele sutilezas que no encontrará ni en un libro de texto ni en una referencia.

 
De nuevo con la pregunta: ¿hay una restricción de fijación (ver SRC) en el bucle if-else?
if()
   {if()
      {}
      else
      {}
    }
    else
    {
    if()
      {}
      else ...и т.д....
     }             
No encuentro ninguna razón para que un código tan primitivo no funcione.
 
rapid_minus:
De nuevo con la pregunta: ¿hay alguna restricción de adición (ver SRC) en el bucle if-else? No encuentro una razón por la que un código tan primitivo no funcione.
¿Qué es exactamente lo que no funciona?
 
evillive:
¿Qué ocurre exactamente?


Todo :( Al probar, la posición se abre inmediatamente según criterios no especificados en el código, y no la cierra hasta el final de la prueba, es decir, ignora todas las condiciones de cierre, prescritas en el código.

No está claro si las condiciones de cierre están mal especificadas o sila posición abierta noes legible.

 
rapid_minus:


Todo :( Durante la prueba, la posición se abre inmediatamente, según criterios no especificados en el código, y no la cierra hasta el final de la prueba, es decir, ignora todas las condiciones de cierre prescritas en el código.

No está claro si las condiciones de cierre están mal definidas o si la posición abierta no es legible.

En estos casos, cuando no está claro dónde está el problema, se recomienda insertar después de cada acción una impresión con la descripción de la acción (y la salida de errores, si es necesario).
 
evillive:
En estos casos, en los que no está claro dónde está el problema, se recomienda que después de cada acción se inserte una impresión que describa la acción (y la salida del error si es necesario).

Gracias. Es mucho trabajo, pero parece que no voy a encontrar el error de otra manera.