He buscado en el foro pero no he encontrado una solución rápida, ayudar a resolver el problema con mientras que en el probador no funciona, en la vida real lo hace.
Gracias.
Si se cuelga el probador, entonces debería. (Asegúrese de describir la salida del bucle).
Es difícil decir cuál es su problema. Tome como una regla en MQL4 que los números negativos en el código siempre debe ser puesto entre paréntesis. A veces pueden producirse errores sin paréntesis.
Aunque, en las líneas de código que comienzan con extern, no es necesario tomar valores negativos entre paréntesis. No sé por qué es así.
Gracias, pero no funciona, ¿puede sugerir una construcción para deshacerse del bucle if(IsTesting()==true || IsOptimization()==true)
drknn: No necesita una alerta - mi entendimiento es que en algún lugar del código el archivo probablemente ya está abierto pero no cerrado. Probablemente por eso no se puede reabrir el archivo y sigue apareciendo la ventana de alerta. Aunque, tal vez me equivoque, no soy miembro del club de los telépatas :(
La situación es la siguiente: en un momento determinado, el experto mira en el archivo csv y ve qué orden hay (comprar, vender, cerrar), esta orden es escrita en el archivo por EXCEL. El problema es que de momento, cuando expert va a leer el archivo, lo puede abrir EXCEL, ekspert da un error y ya está, y necesito que vaya de nuevo y lo intente hasta que lea el comando.
No sabía lo de mientras construía...
Por favor, compruebe si lo he escrito correctamente:
Esto es para asegurarse de que la ejecución del código entra en el cuerpo del bucle y no lo ignora.
Sí, por desgracia tengo que ser como un adivino, crear scripts con parte del código en la pregunta, bueno o todo el código y será más fácil para que usted pueda señalar el error. (posos de café zakAchyVeTso).
Estoy tratando de escribir un EA utilizando la estrategia del canal de la mañana. La esencia es la siguiente: a las 6:01 en el par EURGBP determinamos el canal de movimiento del precio desde las 0 hasta las 6 de la mañana. Establecemos dos órdenes pendientes y si la orden pendiente activada es cerrada por un stopper, abrimos una orden en sentido contrario. Es la segunda parte de la estrategia la que no funciona. Es decir, si se ha activado un stop, no podemos abrir una orden en sentido contrario.
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Gracias.
Si se cuelga el probador, entonces debería. (Asegúrese de describir la salida del bucle).
Así
Es difícil decir cuál es su problema. Tome como una regla en MQL4 que los números negativos en el código siempre debe ser puesto entre paréntesis. A veces pueden producirse errores sin paréntesis.
Aunque, en las líneas de código que comienzan con extern, no es necesario tomar valores negativos entre paréntesis. No sé por qué es así.
Gracias, pero no funciona, ¿puede sugerir una construcción para deshacerse del bucle if(IsTesting()==true || IsOptimization()==true)
^^
No necesita una alerta - mi entendimiento es que en algún lugar del código el archivo probablemente ya está abierto pero no cerrado. Probablemente por eso no se puede reabrir el archivo y sigue apareciendo la ventana de alerta. Aunque, tal vez me equivoque, no soy miembro del club de los telépatas :(
No sabía lo de mientras construía...int init(){while(handle<1){handle=FileOpen("firstfile.csv",FILE_CSV|FILE_READ|FILE_WRITE,'\t')}}
}
Gracias, pero no funciona, ¿puede sugerir una construcción para deshacerse del bucle if(IsTesting()==true || IsOptimization()==true)
Intenta sin un bucle en absoluto, digamos así:
Al menos ayudaría a entender por qué la pose no se abre.
^^
Muchas gracias :)
Gracias a todos, arreglado, ya funciona.
Muchas gracias por su ayuda.
Sí, por qué tenemos que preguntar, podemos comprobarlo "luchando" )).
En general esto es correcto, pero para que funcione necesitamos inicializar la variable antes del bucle
mango=0;
while(handle<1)
{
handle=FileOpen("firstfile.csv",FILE_CSV|FILE_READ|FILE_WRITE,'\t');
}
Es para estar absolutamente seguro de que la ejecución del código entrará en el cuerpo del bucle y no lo ignorará.
En realidad es cierto, pero para que funcione, la variable debe ser inicializada antes del bucle
mango=0;
while(handle<1)
{
handle=FileOpen("firstfile.csv",FILE_CSV|FILE_READ|FILE_WRITE,'\t');
}
Esto es para asegurarse de que la ejecución del código entra en el cuerpo del bucle y no lo ignora.
Amigos, ¡¡¡ayudadme un poco!!!
Estoy tratando de escribir un EA utilizando la estrategia del canal de la mañana. La esencia es la siguiente: a las 6:01 en el par EURGBP determinamos el canal de movimiento del precio desde las 0 hasta las 6 de la mañana. Establecemos dos órdenes pendientes y si la orden pendiente activada es cerrada por un stopper, abrimos una orden en sentido contrario. Es la segunda parte de la estrategia la que no funciona. Es decir, si se ha activado un stop, no podemos abrir una orden en sentido contrario.