Nueva versión de la plataforma MetaTrader 5 build 2485: mejoras en iCustom y optimización general en MQL5

MetaQuotes  

Nueva versión de la plataforma MetaTrader 5 build 2485: mejoras en iCustom y optimización general en MQL5

El viernes 5 de junio de 2020 se lanzará la versión actualizada de la plataforma MetaTrader 5.

Recompile sus productos en el Mercado

Rogamos encarecidamente a todos los desarrolladores que publiquen sus productos en el Mercado que recompilen sus archivos en la nueva versión de la plataforma y carguen las versiones actualizadas en el Mercado. En la versión actual, hemos corregido una serie de errores importantes. Estos podrían influir negativamente en el funcionamiento de los productos, por eso es preferible que recompile sus programas.

La actualización contiene los siguientes cambios:

  1. Terminal: Optimizada y sustancialmente acelerada la edición de la historia de barras en los instrumentos financieros de usuario. La mejora también afecta a la función CustomRatesUpdate.
  2. Terminal: Corregido el error que surgía al exportar los ajustes de los instrumentos de usuario a un archivo JSON.
  3. MQL5: Modificado el algoritmo de carga de los indicadores de usuario con la ayuda de iCustom.

    Nombre del indicador personalizado. Si antes del nombre indicamos la barra oblicua inversa '\', el archivo EX5 del indicador se buscará con respecto a la carpeta raíz MQL5. De esta forma, al llamar iCustom(Symbol(), Period(), "\FirstIndicator"...) el indicador se cargará como MQL5\FirstIndicator.ex5. Si el archivo no se encuentra según esta ruta, aparecerá el error 4802 (ERR_INDICATOR_CANNOT_CREATE).

    Si la ruta no comienza con '\', la búsqueda y la carga del indicador se realizarán en la siguiente secuencia:

    • En primer lugar, el archivo EX5 del indicador se buscará en la misma carpeta donde se encuentra el archivo EX5 del programa que realiza la llamada. Por ejemplo, el asesor CrossMA.EX5 se encuentra en la carpeta MQL5\Experts\MyExperts y contiene la llamada iCustom(Symbol(), Period(), "SecondIndicator"...), entonces, la búsqueda del indicador se realizará en la ruta MQL5\Experts\MyExperts\SecondIndicator.ex5.
    • Si el indicador no ha sido localizado en el mismo directorio, la búsqueda se realizará con respecto al directorio raíz de indicadores MQL5\Indicators. Es decir, se buscará el archivo MQL5\Indicators\SecondIndicator.ex5. Si el indicador no ha sido localizado en ninguna de las rutas, la función retornará INVALID_HANDLE y se mostrará el error 4802 (ERR_INDICATOR_CANNOT_CREATE).

    Si la ruta al indicador se ha establecido en un subdirectorio, por ejemplo, como MyIndicators\ThirdIndicator, la búsqueda primero se efectuará en la carpeta del programa que ha realizado la llamada (el asesor se encuentra en la carpeta MQL5\Experts\MyExperts), en la ruta MQL5\Experts\MyExperts\MyIndicators\ThirdIndicator.ex5, y después, si no ha habido éxito, se buscará el archivo MQL5\Indicators\MyIndicators\ThirdIndicator.ex5. En este caso, además, deberemos indicar como separador en la ruta la barra oblicua inversa doble '\\', por ejemplo, iCustom(Symbol(), Period(), "MyIndicators\\ThirdIndicator"...).

    Asimismo, al detectarse en el código del programa la llamada de un indicador de usuario a través de iCustom, el compilador añadirá de forma implícita la directiva "#property tester_indicator XXX", si está no existe.

  4. MQL5: Optimizado y significativamente acelerado el funcionamiento de la función HistorySelect, que permite solicitar la historia de transacciones y órdenes.
  5. MQL5: Corregido el error que surgía al solicitar los ticks a través de la función CopyTicksRange. Debido a este error, como inicio del intervalo se aplicaba el comienzo del día establecido sin considerar la hora indicada.
  6. MQL5: Optimizada y significativamente acelerada la representación de las alertas con la ayuda de la función Alert.
  7. MQL5: Añadida la nueva propiedad SYMBOL_TIME_MSC: la hora del último tick del símbolo en milisegundos. Para obtener la propiedad, se usa la función SymbolInfoInteger.
  8. Correcciones de crash logs.
La actualización estará disponible a través del sistema LiveUpdate.
Miguel Angel Vico Alba  
kmilo20000:

Rogamos encarecidamente a todos los desarrolladores que publiquen sus productos en el Mercado que recompilen sus archivos en la nueva versión de la plataforma y carguen las versiones actualizadas en el Mercado. En la versión actual, hemos corregido una serie de errores importantes. Estos podrían influir negativamente en el funcionamiento de los productos, por eso es preferible que recompile sus programas.

Camilo Andres Acevedo Corzo  
Miguel Angel Vico Alba:

Rogamos encarecidamente a todos los desarrolladores que publiquen sus productos en el Mercado que recompilen sus archivos en la nueva versión de la plataforma y carguen las versiones actualizadas en el Mercado. En la versión actual, hemos corregido una serie de errores importantes. Estos podrían influir negativamente en el funcionamiento de los productos, por eso es preferible que recompile sus programas.

Ya lo hice varias veces. Es más, el código que estoy testeando se desarrolló en este último build!!

Camilo Andres Acevedo Corzo  
Miguel Angel Vico Alba:

Pues le confirmo que todos mis EAs funcionan perfectamente. Pruebe a reinstalar el terminal en limpio (desinstalar/instalar).

Además cuando se dan ese tipo de fallos el foro ingles se llena de comentarios sobre ello, pero no es el caso.

Ya lo hice. Lo desinstalé y volví a instalar... Y nada. Deja de funcionar, arrojas resultados incorrectos y luego de varios intentos, a veces vuelve a funcionar....

Miguel Angel Vico Alba  
kmilo20000:

Ya lo hice. Lo desinstalé y volví a instalar... Y nada. Deja de funcionar, arrojas resultados incorrectos y luego de varios intentos, a veces vuelve a funcionar....

Pues no sabría decirle. Eso me paso hará unas cuantas versiones atrás, pero como dije el fallo era generalizado, ya que el foro ingles estaba lleno de gente con el mismo problema.

Lo he revisado y no he encontrado a nadie con el mismo problema, por lo que todo me hace pensar que el fallo es solo suyo.

Si usa un indicador personalizado (iCustom), tal vez no lo haya compilado con esta última versión. Por intentar darle algo que probar...

Camilo Andres Acevedo Corzo  
Miguel Angel Vico Alba:

Pues no sabría decirle. Eso me paso hará unas cuantas versiones atrás, pero como dije el fallo era generalizado, ya que el foro ingles estaba lleno de gente con el mismo problema.

Lo he revisado y no he encontrado a nadie con el mismo problema, por lo que todo me hace pensar que el fallo es solo suyo.

Si usa un indicador personalizado (iCustom), tal vez no lo haya compilado con esta última versión. Por intentar darle algo que probar...

Lo extraño es que con las anteriores versiones no sucedía. Una vez lo actualicé al último build es que esto ocurre... Y lo raro es que no funcione y luego sí lo haga. Eso es lo más extraño, pues si no funciona, pues no funciona y ya y no aveces sí y otras veces no.

Otro bug que encontré es que ya no funciona el MQL cloud para optimizar. Simplemente no conecta y ya había usado ese servicio en el mismo computador, mismo EA, etc...

Razón de la queja: