Terminal
- Corregida la visualización de textos en los gráficos al trabajar en sistemas macOS y Linux donde se usa Wine.
- Corregida la representación de los indicadores que se mostraban como una línea con color cambiante.
- Corregida la representación de los objetos "Etiqueta de texto" y "Botón".
- Corregido el formato de algunos indicadores estadísticos en los informes comerciales. Era posible que se redondeasen incorrectamente.
- Modificado el cálculo de los indicadores "Beneficio total" y "Pérdida total" en el informe comercial. Ahora incluyen comisiones y swaps.
- Corregido el guardado del estado de la barra de herramientas para el gráfico separado Al reiniciar la plataforma, el panel oculto podía reaparecer.
- Corregida la carga de los ajustes de los instrumentos comerciales personalizados desde archivos JSON. En concreto, los ajustes de los swaps, las sesiones comerciales y los valores de los ticks podían importarse incorrectamente.
- Añadida la especificación del instrumento y el marco temporal en el encabezado de la ventana al ejecutar el script en un gráfico.

- Corregida la duplicación de instrumentos comerciales en la pista mostrada al buscar instrumentos en la «Observación de Mercado».
- Corregida la visualización de las fuentes Windings en el gráfico.
- Corregida la visualización fija de indicadores como velas multicolores (DRAW_COLOR_CANDLES) y líneas multicolores (DRAW_COLOR_LINE).
- Añadida la muestra de mensajes en el log indicando que el servidor del bróker tiene una versión obsoleta. Si el servidor tiene una versión inferior a 5200, publicada hace seis meses, aparecerá una advertencia:
outdated server build - must be at least 5200, contact your broker please
El mensaje se muestra a título informativo y no afecta a la posibilidad de conectarse al servidor. - Actualizadas las traducciones de la interfaz de usuario.
MQL5
- Cambiado el orden de instalación de la biblioteca ONNX. Ahora se carga al iniciarse por primera vez un programa MQL5 que use ONNX, en lugar de hacerlo junto con la plataforma. La biblioteca se actualiza automáticamente.
- Añadido soporte de CUDA para ONNX. Si su tarjeta gráfica es compatible con la tecnología correspondiente, acelerará considerablemente la inferencia de modelos. Le recomendamos encarecidamente actualizar los controladores NVIDIA para mejorar la estabilidad y el rendimiento.
Los permisos CUDA pueden gestionarse en los ajustes de la plataforma:

- Actualizadas las banderas de enumeración ENUM_ONNX_FLAGS. Se utilizan en la creación y ejecución de modelos ONNX:
Trabajo con registros
En lugar de la bandera obsoleta ONNX_DEBUG_LOGS, para trabajar con los registros ahora se usarán:
- ONNX_LOGLEVEL_VERBOSE — mostrar todos los mensajes.
- ONNX_LOGLEVEL_INFO — mostrar mensajes de información, así como advertencias y errores. Sustituye a la bandera obsoleta ONNX_DEBUG_LOGS.
- ONNX_LOGLEVEL_WARNING — mostrar advertencias y errores. Se utiliza por defecto.
- ONNX_LOGLEVEL_ERROR — mostrar solo errores.
Gestión de CUDA y GPU
Eliminado el indicador ONNX_CUDA_DISABLE. Use en su lugar el nuevo ONNX_USE_CPU_ONLY. Si está activado, para el modelado solo se utilizará el procesador.
Añadidas banderas para seleccionar la tarjeta de vídeo en la que ejecutar el modelo:
- ONNX_GPU_DEVICE_0
- ONNX_GPU_DEVICE_1
- ONNX_GPU_DEVICE_2
- ONNX_GPU_DEVICE_3
- ONNX_GPU_DEVICE_4
- ONNX_GPU_DEVICE_5
- ONNX_GPU_DEVICE_6
- ONNX_GPU_DEVICE_7
Utilícelas si tiene 2 o más dispositivos habilitados para CUDA en su sistema. Si hay más de una bandera activada, se seleccionará el dispositivo con el índice más bajo.
Perfilado de modelos
Añadido la bandera ONNX_ENABLE_PROFILING para habilitar el perfilado de modelos ONNX.
Al ejecutar el modelo con la bandera activada en la carpeta /MQL5/Files/OnnxProfileReports/, se creará un archivo con el nombre [EX5 file name]_[date]_[time].json que contendrá el informe de perfilado.
- Aumentado el límite de archivos que pueden incluirse en el programa como recurso. Ahora es de 1 GB. Esto permite incorporar grandes modelos de ONNX a los proyectos.
- Mejorada la estabilidad al trabajar con OpenCL.
- Agregado el método ReplaceToZero. Reemplaza valores pequeños en una matriz/vector con valores cero y retorna el número de elementos reemplazados.
- Añadidos nuevos métodos OpenBLAS:
- FactorizationLDLComplexSyRaw — calcula la factorización de una matriz compleja utilizando la selección diagonal del elemento principal según el método Bunch-Kaufman.
- LDLComplexSyLinearEquationsSolution — resuelve un sistema de ecuaciones lineales A * X = B con una matriz indefinida simétrica compleja utilizando la factorización A = U**T * D * U or A = L * D * L**T calculada según el método FactorizationLDLComplexSyRaw con múltiples lados derechos.
- LDLComplexSyInverse — calcula la matriz inversa de una matriz indefinida simétrica compleja utilizando la factorización A = U**T * D * U or A = L * D * L**T calculada según el método FactorizationLDLComplexSyRaw.
- LDLComplexSyCondNumReciprocal — estima el número condicionante inverso para una matriz incierta simétrica compleja utilizando la descomposición LDLT calculada por el método FactorisationLDLComplexSyRaw.
- Añadida la función ColorToPRGB. Convierte el tipo de color a un tipo uint para obtener una representación PRGB del color. Este formato se utiliza al crear un recurso gráfico, al mostrar textos y en la clase de la biblioteca estándar CCanvas al trabajar con el color COLOR_FORMAT_ARGB_RAW.
uint ColorToPRGB(
color clr,
uchar alpha=255
);
El color PRGB se calcula mediante la fórmula
R = R * A / 255
G = G * A / 255
B = B * A / 255
A = A
- Corregida la configuración programática del texto para los objetos OBJ_LABEL, OBJ_TEXT, OBJ_BUTTON y OBJ_EDIT. En algunos casos, era posible que no se mostrase el texto especificado.
- Corregido el ajuste de color para objetos gráficos usando ObjectSetInteger. Los valores clrNONE podían no tenerse en cuenta.
- Corregido el bloqueo de la función Bars cuando no había historia de precios en el servidor.
- Corregida la búsqueda de variables globales en el ámbito. El error no permitía usar dentro de namespace variables con el mismo nombre que las variables a nivel global.
- Corregido el trabajo con el atributo final. Ahora, si intenta sobrescribir una función marcada como final, el compilador generará el error correspondiente.
- Corregido una advertencia falsa del compilador que se producía al utilizar prefijos de funciones en archivos de inclusión *.mqh sin la directiva #import. Ahora el compilador procesa correctamente estas declaraciones y no requiere #import si las funciones no se importan desde la DLL.
Ejemplo
Archivo utils.mqh:
double CalcLot(double risk, double stop);
Archivo expert.mq5:
#include "utils.mqh"
double CalcLot(double risk, double stop)
{
return risk / stop;
}Anteriormente, el compilador podía generar una advertencia de que faltaba la directiva #import para la función CalcLot en el archivo utils.mqh, a pesar de que la función es personalizada y está implementada en el código del proyecto. Ahora ese código se compilará sin advertencias. La directiva #import solo es necesaria para las funciones importadas de DLL externas.
MetaEditor
- Corregido un error de falta de memoria al trabajar con archivos fuente de gran tamaño (megabytes).
- Corregida la visualización del valor y el nombre de la enumeración en la ventana de observación de expresiones durante la depuración.
Tester
- Solucionada la detención de pruebas para los expertos en bucle. Ahora, incluso si hay un bucle infinito, el proceso se detendrá inmediatamente al presionar el botón "Stop".
- Corregida la llamada a la función EventChartCustom durante la prueba visual. Anteriormente, el evento se enviaba por error dos veces.
- Corregida la verificación del nivel de congelamiento (SYMBOL_TRADE_FREEZE_LEVEL) al eliminar órdenes pendientes recién colocadas.
- Corregida la exportación de datos de pruebas forward. Al exportar datos de pruebas que no utilizaban el modo forward, era posible que guardasen datos de pruebas forward anteriores.
Terminal web
- Agregada la visualización del beneficio/pérdida aproximados en dinero al colocar Stop Loss y Take Profit en el gráfico.

- Corregida la visualización de las especificaciones de los instrumentos comerciales que tienen caracteres especiales en sus nombres.
- Corregida la visualización de precios negativos en la ventana de diálogo comercial.
- Corregida la visualización de los indicadores financieros de la cuenta para los casos en que la divisa de depósito tiene una precisión de más de 2 decimales.
La actualización estará disponible a través del sistema Live Update.
Lea las noticias anteriores: