Errores, fallos, preguntas - página 2238
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Ocurre que el último tick recibido hace 16 segundos no se considera relevante para el OrderSend. Al fin y al cabo, debe tratarse de un error.
Este error
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Bibliotecas: MT4Orders
fxsaber, 2018.07.24 09:46
En aproximadamente un minuto se puede reproducir con este script en ForexTimeFXTM-Demo01 si se habilitan todos los símbolos en Market Overview antes de ejecutar.
Se trata de una limitación del sistema (WinAPI).
Aquí están las banderas correctas para que su código funcione:
vamos )
lo hemos comprobado - Windows puede abrir el archivo, pero el script no puede. el problema está en la bandera FILE_SHARE_READ
Por favor, arregle FileLoad
Gracias por la publicación.
Se han añadido los indicadores FILE_FLAG_SHARE_READ | FILE_FLAG_SHARE_WRITE a la implementación de la función FileLoad/FileSave
Cuidado, cuando se escribe y se lee el mismo archivo al mismo tiempo, la sincronización tiene que ser organizada correctamente, porque el resultado de la lectura será indefinido.
Gracias por el mensaje.
Se han añadido los indicadores FILE_FLAG_SHARE_READ | FILE_FLAG_SHARE_WRITE a la implementación de la función FileLoad/FileSave
Cuidado, cuando se escribe y se lee el mismo archivo al mismo tiempo, la sincronización tiene que ser organizada correctamente, porque el resultado de la lectura será indefinido.
Gracias por la corrección, el rastrillo de sincronización no debería verse afectado.
vamos )
El problema está en la bandera FILE_SHARE_READ.
Recomiendo la lectura de https://docs.microsoft.com/en-us/windows/desktop/FileIO/creating-and-opening-files
Recomiendo la lectura de https://docs.microsoft.com/en-us/windows/desktop/FileIO/creating-and-opening-files
¿Cómo afrontar este hecho?
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Bichos, errores, preguntas
fxsaber, 2018.07.23 16:48
Claramente es un error ya que con esas banderas las aplicaciones de terceros leen el archivo sin ningún problema.
Esos archivos.
Veo en TotalCommander sin FileClose. Sin FILE_SHARE_READ no funciona.
Recomiendo su lectura
Sí, estaba a punto de lanzarme.
Reconozco que me equivoqué. si el primer mango está abierto para escribir, el segundo debe añadir la bandera FILE_SHARE_WRITE
pero hay otro comentario de a100 que no tiene ningún registroEl abridor no puede utilizar la bandera FILE_SHARE_WRITE (permitir la escritura) para la lectura, porque hay un escritor.
Se trata de una limitación del sistema (WinAPI).
Aquí están las banderas correctas en las que su código funcionará:
Yo también leo MSDN. Explícate, ¿es que Microsoft no sabe inglés o que ellos mismos no leen su documentación, o es la última opción - las banderas en MQL tienen un nombre similar al de WinApi pero funcionan de manera diferente?
Tomado de aquí - https://docs.microsoft.com/en-us/windows/desktop/api/FileAPI/nf-fileapi-createfilea
FILE_SHARE_READ -Permite que las siguientes operaciones de apertura de un archivo o dispositivo soliciten acceso de lectura.De lo contrario, otros procesos no podrán abrir el archivo o dispositivo si solicitan acceso de lectura.
FILE_SHARE_WRITE -Permite que las siguientes operaciones de apertura de un archivo o dispositivo soliciten acceso de escritura.De lo contrario, otros procesos no podrán abrir el archivo o dispositivo si solicitan acceso de escritura.
Por lo tanto, el primer programa sólo necesita establecer FILE_SHARE_READ para que el segundo lo lea. FILE_SHARE_WRITE debe establecerse sólo si se sabe que el segundo programa también escribirá en el archivo.
Pregunta para los desarrolladores.
Existe una función de sincronización:
A veces me da este error:
Es decir, el indicador se ejecuta en USDJPY, y me da un error con el símbolo EURGBP. Al mismo tiempo hay un gráfico abierto de EURGBP en el terminal.
El error 4014 dice que:
No se puede llamar a la función del sistema
¿Cómo puede ser?
Sí, estaba a punto de lanzarme.
Reconozco que me equivoqué. si el primer mango está abierto para escribir, el segundo debe añadir la bandera FILE_SHARE_WRITE
pero también hay un comentario de a100 que no tiene ningún registro.