Características del lenguaje mql5, sutilezas y técnicas - página 191
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
¿Es un error o un chip que arroja este error?
C++ se lo come bastante bien. Y las matrices en MQL tienen sus propias matrices. Así que algunos std::array podrían ser manejados por esta construcción también.
¿Es un error o un fallo que arroje este error?
No es un error. Una sobrecarga de la plantilla sólo ayudará.
¿Hay alguna forma de averiguar rápidamente que no hay historial para un instrumento (ya sea localmente o en el servidor)?
Cualquier solicitud de CopyXXX espera 30 segundos para recuperar los datos, y tarda un tiempo excesivo en recorrer un gran número de instrumentos.
Para algunas herramientas, ayuda comprobar si hay una oferta (está vacía), pero no para todas las herramientas.
Puede comprobarlo en ICMarkets-MT5, herramientaWheat_U0
¿Hay alguna forma de averiguar rápidamente que no hay historial para un instrumento (ya sea localmente o en el servidor)?
Cualquier solicitud de CopyXXX espera 30 segundos para recuperar los datos, y tarda un tiempo excesivo en recorrer un gran número de instrumentos.
Para algunas herramientas, ayuda comprobar si hay una oferta (está vacía), pero no para todas las herramientas.
Puede comprobarlo en ICMarkets-MT5, instrumentoWheat_U0.
Esto ya se ha escrito muchas veces y aquí está lo primero que he encontrado https://www.mql5.com/ru/forum/285631/page35#comment_9431199
Alternativamente estos símbolos tienen Ask y Bid == 0
¿Hay alguna forma de averiguar rápidamente que no hay historial para un instrumento (ya sea localmente o en el servidor)?
Cualquier solicitud de CopyXXX espera 30 segundos para recuperar los datos, y tarda un tiempo excesivo en recorrer un gran número de instrumentos.
Para algunas herramientas, ayuda comprobar si hay una oferta (está vacía), pero no para todas las herramientas.
Puede comprobarlo en ICMarkets-MT5, instrumentoWheat_U0
en el indicador no esperará el resultado de CopyXXX
como una opción en el temporizador en el indicador para procesar CopyXXX y llamar a este indicador desde EA
Se ha escrito sobre esto más de una vez, y esta es la primera que encontré https://www.mql5.com/ru/forum/285631/page35#comment_9431199
Como variante de estos símbolos Ask y Bid == 0
Sobre la oferta cero escrita a la vez, a veces no es cero.
en el indicador no esperará el resultado de CopyXXX
una variante de temporizador en el indicador para procesar CopyXXX y llamar a este indicador desde EA
¡Eso sí que es una idea! Gracias, lo probaré.
La razón por la que esto ocurre. Después del primer OrderSend, aparece una orden de mercado y si un nuevo tick llega antes de su ejecución, no hay posición todavía y se realiza el segundo OrderSend.
Debido a esto, un patrón aparentemente normal de MT5no funcionará correctamente y como consecuencia, la mayoría de los Asesores Expertos de MT5 en codobase. Al mismo tiempo, la plantilla casi idéntica de MT4 seguirá funcionando sin problemas.
La aparentemente buena idea de PositionsTotal se ve algo ensombrecida por la necesidad en MT5 de analizar también OrdersTotal para las órdenes de mercado.
¡Tenga cuidado!
Gracias por señalarlo. Lo tenía en mente. Pero ahora he llegado a escribir un Asesor Experto y me preguntaba si tiene sentido comprobar las peticiones enviadas a un servidor. Hipotéticamente, lo has descrito correctamente, pero de hecho el servidor responde rápidamente a las peticiones, y tal condición no se producirá en la mayoría de los casos (99%, creo). Pero la velocidad del algoritmo se verá afectada cada vez. ¿Qué le parece más importante?
Entre en el mercado una vez con 2 lotes en lugar de 0,1, y la respuesta es inmediatamente obvia )
Entre en el mercado una vez con 2 lotes en lugar de 0,1, y la respuesta es inmediatamente obvia )
Si tienes un algoritmo para concluir 0,1 lote, entonces hay una probabilidad de 0,1 dos veces, y como creo que esta probabilidad tiende a cero, y tres veces, creo que es imposible. Y mucho menos 20 veces. Al fin y al cabo, estamos hablando de cosas de la aplicación. Como regla general, el servidor responde probablemente en el límite de 10minseg (¿es así? No estoy seguro). En su opinión, ¿cuál es la probabilidad de conseguir una segunda transacción? ¿Hace usted mismo esta comprobación? ¿Sucede que el servidor puede tardar en responder?
Según las estadísticas: unas 200-300 operaciones al día. Incluso con las comprobaciones normales, pero sin comprobaciones realmente complicadas, una media de 2-3 veces a la semana he pillado una apertura de lote doble. Calcule la probabilidad y evalúe si necesita o está preparado para aceptar dicha probabilidad. Personalmente, he hecho mis comprobaciones al máximo.