[¡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

 
Lo tengo))) A leer! ))))
 
fergios:
¡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).

 
costy_:

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

 
fergios: Bueno, no voy a tirar mi código, ¡me llevaré uno descargado! ¡que tampoco funciona!
pero... esta (ligeramente modificada) se utiliza en el Campeonato de Ttauso - aunque sólo ocupa el 5º lugar... pero eso es debido a la falta de modificación de los lotes...
 
Vinin:


La biblioteca se olvidó de añadir

Oops, sin ella.
Archivos adjuntos:
botp1ma.mq4  8 kb
 
De todas formas gracias chicos, si no pude darme cuenta de que funcionaba, debería leerlo doblemente)
 
y ObjectsTotal() son los objetos de todos los gráficos o del gráfico actual?
 
eddy:
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.

 
Roman.:


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í.
 
costy_:

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.
Razón de la queja: