[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 1033
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¡No voy a tirar mi código, voy a coger uno descargado! ¡Que tampoco funciona!
Aquí hay uno que funciona, lo he comprobado.
En algunos dtCs primero abrimos una operación y luego la modificamos (fijando los stops y las tomas de posesión).
Aquí hay uno que funciona, lo he comprobado.
En algunos DC, primero se abre una operación y sólo después se modifica (se fijan los stops).
Me olvidé de añadir la biblioteca
La biblioteca se olvidó de añadir
y ObjectsTotal() son objetos de todos los gráficos o del actual?
Actual.
ObjectsTotal Devuelve el número total de objetos del tipo especificado en el gráfico.
Visite https://book.mql4.com/ru/functions/objects https://docs.mql4.com/ru/objects/ObjectsTotal
El lenguaje mcule4 está ligado a una sola ventana, la actual.
Este bucle sirve para mantener la modificación de la orden ffs (si la modificación de la orden en el mercado real falló en el primer intento (sucede) y el posible error no es crítico: por ejemplo, 136 - sin precio - esperar a un nuevo tick), es decir, este bucle mantiene el control hasta que la orden previamente seleccionada se modifique o se reciba un error crítico - todo esto puede suceder dentro de varios ticks o incluso segundos (decenas de segundos).Es decir, si en este momento se ha disparado un criterio de apertura de una orden, la orden no se abrirá ya que el control lo tiene la función de modificación de todas las órdenes seleccionadas hasta que termine, tras lo cual, si la condición de apertura de la siguiente orden en el Asesor Experto sigue activa, la siguiente orden intentará abrirse en el siguiente tick - esto es sólo un ejemplo... " Si la operación comercial tiene éxito, entonces el operador de ruptura del bloque 6-7 termina la ejecución del bucle while que provoca la terminación de la iteración actual del bucle for (y la siguiente iteración comienza a procesar la siguiente orden) - todo este tiempo la función mantiene el control hasta que se ejecuta la última orden a modificar. Si la operación comercial no tiene éxito, se gestionan los errores. Si el error no es crítico, se repite el intento de repetir la operación comercial. Si el error se estima como crítico, el control se transfiere fuera del bucle de modificación para procesar la siguiente orden (en el bucle for), tras lo cual se ejecutan otras funciones del Asesor Experto.
Creo que lo he explicado de forma un poco chapucera, pero se entiende. :-)))
Gracias, eso aclara lo que está pasando allí.
En los scripts y en los Asesores Expertos, es posible mantener el bucle sin terminar durante mucho tiempo sin temor a ralentizar la interfaz.
Es decir, en el indicador while (true) se colgará, porque Sleep no funciona.
Mira el guión de abajo para verlo más claramente
Gracias.