Aprender y escribir juntos en MQL5 - página 26

 

Del Manual:

Все возникающие события клиентский терминал складывает в общую очередь.

...La cola de eventos tiene un tamaño limitado.

Ya se ha hablado varias veces de la cola de eventos, pero no he podido encontrar el tamaño exacto. ¿Qué profundidad tiene la cola de eventos? 64? ¿256? ...eventos?
 

Entonces, ¿alguien me va a ayudar o no? En la página 25, dos concejales...

Regañar es regañar. Ahora ayúdame a entender. Me has acusado de no darte suficientes datos para analizar el problema. No necesito más. Puedes comprobar lo que quieras.

Supongo que todos están probando mis robots... Esperaré. Probablemente necesite contratar a un programador por dinero para que le ayude a encontrar un error.

Por cierto, ¿alguien más recuerda cuál es el tema del hilo llamado ....?

 
Yedelkin:

Del Manual:

Se ha hablado de la cola de eventos, pero no he podido encontrar el tamaño exacto. ¿Qué profundidad tiene la cola de eventos? 64? ¿256? ...eventos?
También quería preguntar, ¿qué ocurrirá si la cola de eventos empieza a acumularse y se atasca? ¿Se ignorarán los nuevos eventos o se reiniciarán los que ya están en la cola? ¿Y cuándo ocurrirá eso (en qué evento de la cola)?
 
Urain:
También quería preguntar qué ocurrirá si la cola de eventos empieza a acumularse y a ahogarse? ¿se ignorarán los nuevos eventos o se reiniciarán los que ya están en la cola? y, por supuesto, ¿cuándo ocurrirá esto (en qué evento de la cola)?

ya contestado

https://www.mql5.com/ru/forum/1621/43941#comment_43941

Таймер
Таймер
  • www.mql5.com
Предпосылки очень просты -- таймер обычно используется для синхронизации (ждем расчета данных) или обсервинга (зацикленный таймером эксперт, имхо, будет гораздо более адекватным).
 

Creo que todavía hace falta una aclaración, hay una respuesta pero está difuminada, mis preguntas ni siquiera se insinúan.

Ni la indicación exacta de la longitud de la cola, ni qué eventos se saltarán (¿qué quiere decir "se saltará parte de los eventos"?) ¿qué parte?, los nuevos eventos o los que ya están en cola? la lógica es impotente aquí, ya que los nuevos eventos pueden ser más importantes que los que están en cola, o viceversa.

Así que es mejor aclarar este punto.

 
Khomtchenko:

Entonces, ¿alguien me va a ayudar o no? En la página 25, dos concejales...

Regañar es regañar. Ahora ayúdame a entender. Me has acusado de no darte suficientes datos para analizar el problema. No necesito más. Puedes comprobar lo que quieras.

Supongo que todos están probando mis robots... Esperaré. Probablemente necesite contratar a un programador por dinero para que le ayude a encontrar un error.

Por cierto, ¿alguien más recuerda cuál es el tema del hilo llamado ....?

Tiene un deslizamiento de 50 en mql4 y 10 en mql5. Trate de establecer el mismo deslizamiento, tal vez la situación se iguale porque muchas órdenes con tal deslizamiento pueden entrar en recotizaciones.

Mejor aún, en ambas variantes, ajuste el deslizamiento al tamaño del spread.

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
molotkovsm:

Repetiré la pregunta:

¿Cómo puedo eliminar correctamente todos los pedidos con un determinado magik?

...

Tengo que recorrer la lista de pedidos de arriba a abajo, por ejemplo, así:

Intenté hacer lo que me dijiste, pero el problema persiste: primero se elimina la orden pendiente y luego se envía otra solicitud para eliminar la misma orden. Este es un ejemplo de las líneas de registro:

2011.05.12 16:42:57 Traes '726238' : cancelar orden #4388299 comprar stop 0.02 EURUSD a 1.41700 hecho - orden eliminada con éxito
2011.05.12 16:42:57 Operaciones '726238' : cancelar orden #4388299 comprar stop 0.02 EURUSD a 1.41700 - Se está enviando otra solicitud
2011.05.12 16:42:58 Operaciones '726238' : no se ha podido cancelar la orden #4388299 de compra de 0,00 a 0,00000 [Solicitud no válida] - ya se ha comprado pero el stop de compra era

Esto no ocurre siempre, sino a veces, y no afecta al funcionamiento del Asesor Experto. Sólo quiero que todo sea correcto, que no se cargue el servidor de comercio con peticiones vacías y que se entienda el problema.

Gracias por vuestras respuestas y vuestra disposición a ayudar.

-----------------
Intentaré dar mi opinión. Eliminar una orden con un determinado número mágico o cualquier otro no cambia el asunto, así como desplazarse por las órdenes de forma longitudinal o transversal. Puede memorizar una orden y luego borrarla por ticket, el error aparecerá ocasionalmente.

Como me imagino, el servidor sí ha borrado el pedido, como lo demuestra el mensaje en el registro y en la respuesta de retcode del servidor. Pero el terminal no lo sabe todavía, es decir, la orden sigue funcionando para él (o lo sabe pero da información desactualizada a EA, aunque entonces habría fallado la comprobación) y en el siguiente tick envía otra petición para borrarla y obtiene un error del servidor.

El hecho de que el servidor haya convertido una orden de stop de compra en una simple orden de compra, parece ser un error del servidor: no distingue estas órdenes en caso de error de petición. Esto es algo que deben recordar los desarrolladores.

¿Cómo podemos evitar que se repitan las peticiones? Creo que sólo hay dos maneras:

1. Después de la eliminación exitosa, analice el último historial, esperando que la orden eliminada aparezca en él, y luego continúe.

2. simplemente introducir un retraso, digamos de dos segundos, después de que se haya realizado el borrado. Un segundo podría no ser suficiente.

También me gustaría añadir que esta situación no sólo ocurre con las órdenes pendientes, sino también con las órdenes de mercado, así como con las posiciones cuando se modifican. Esto ocurre más bien poco y puede notarse sólo cuando se opera en una cuenta demo durante mucho tiempo, pero en el probador, por supuesto, no aparece. Además, después de cambiar una posición, sucede que el nivel de margen que existía antes del cambio se invierte, probablemente otros parámetros de la cuenta también, no lo he comprobado.

 

У вас в mql4 стоит проскальзывание 50, а в mql5 10. Попробуйте поставить одинаковое проскальзывание возможно ситуация выровняется тк много приказов с таким слипажем может просто попадать на реквот.

Y mejor aún, en ambas variantes, establecer el deslizamiento altamaño del spread.

Lo intentaré, pero es poco probable que la situación mejore mucho.

¿Tengo problemas de programación o todo está bien?

 
Urain:

Creo que todavía hace falta una aclaración, hay una respuesta pero está difuminada, mis preguntas ni siquiera están insinuadas.

Ni la indicación exacta de la longitud de la cola, ni qué eventos se saltarán (¿qué quiere decir "parte de los eventos se saltarán"?) ¿qué parte?, los nuevos eventos o los que ya están en cola? la lógica es impotente aquí, porque quizás los nuevos eventos pueden ser más importantes que los que están en cola, y quizás viceversa.

Así que es mejor aclarar este punto.

1)"pilas en cola común" - error en la documentación. En realidad hay muchas colas. Actualmente, cada programa mql5 y cada gráfico tienen sus propias colas. Los tamaños de las colas son diferentes y no son pequeños en general, el desbordamiento de la cola es poco probable para un programa correctamente escrito. No documentaremos el tamaño exacto de cada cola, su número o cualquier otra descripción detallada de la implementación interna. La razón es bastante obvia: la aplicación interna puede cambiar.

2) Cualquier nuevo evento para el que no haya suficiente espacio en esta cola particular, será omitido.

Permítame recordarle que los eventos de un nuevo tick y el cambio de un gráfico sólo pueden existir en una única instancia en la cola de eventos entrantes del programa mql5. Se puede activar/desactivar la generación de eventos de creación y eliminación de objetos gráficos en un gráfico.

 

¿Puede decirme qué significan esas barras verdes de la parte inferior? En MT4 significaban volumen de lote y se dibujaban cuando el lote cambiaba. ¿Pero para qué sirve aquí? ¿O mi volumen de lote cambia? Parece que no lo cambio.