MetaTrader 5 build 4230: más aplicaciones integradas y soporte ampliado para ONNX

Estamos realizando los preparativos necesarios para lanzar suscripciones a los datos del mercado Nasdaq. Directamente desde la plataforma, los tráders podrán acceder a las cotizaciones en tiempo real y la historia de precios detallada de cientos de instrumentos financieros de una de las mayores bolsas del mundo

7 marzo 2024

Terminal

  1. Añadidos 28 asesores y 12 indicadores nuevos al paquete estándar de la plataforma. Las aplicaciones estarán disponibles en las secciones “Asesores\Free Robots" e “Indicadores\Free Indicators" del Navegador. Para cada uno de ellos está disponible el código fuente con comentarios detallados que le ayudarán a aprender el lenguaje MQL5.

    Los robots implementan estrategias comerciales basadas en indicadores técnicos y patrones de velas, como 3 Black Crows – 3 White Soldiers, Bullish Engulfing – Bearish Engulfing, Bullish Harami – Bearish Harami y otros. Los nuevos indicadores suponen la implementación de canales populares: Camarilla, DeMark, Donchian, Fibonacci, Keltner y otros.



  2. Estamos realizando los preparativos necesarios para lanzar suscripciones a los datos del mercado Nasdaq. Directamente desde la plataforma, los tráders podrán acceder a las cotizaciones en tiempo real y la historia de precios detallada de cientos de instrumentos financieros de una de las mayores bolsas del mundo. Para hacer esto, solo necesitará una cuenta demo en el servidor MetaQuotes-Demo y una cuenta en MQL5.community.



    Una vez se haya suscrito, simplemente añada los instrumentos correspondientes a su Observación de Mercado y comience a trabajar. Podrá abrir gráficos de estos, analizarlos utilizando cualquier objeto e indicador y también usar los datos para probar estrategias comerciales en el simulador. El acceso a toda la información se realizará de la forma habitual: como en los instrumentos financieros ordinarios con los que usted trabaja con el bróker.

  3. Mejorada la sección de margen en las especificaciones del instrumento. Ahora mostrará tanto los coeficientes de margen para cada tipo de instrumento como los valores finales de margen calculados.



    También se han solucionado algunos errores en la representación de los márgenes para algunos tipos de instrumentos.

  4. Añadido un enlace al canal MQL5 Telegram en el menú "Ayuda". El canal publica periódicamente materiales interesantes para desarrolladores: reseñas de nuevos artículos sobre programación y robots e indicadores gratuitos de la biblioteca de códigos. Suscríbase al canal para no perderse información importante.



  5. Añadido soporte para el parámetro ShutdownTerminal en la sección [StartUp] de los archivos de configuración del usuario. Use esta opción para iniciar la plataforma y realizar tareas únicas mediante scripts. Por ejemplo, dispondrá de un script que toma una captura de pantalla de un gráfico. Podrá crear un archivo de configuración que ejecutará este script junto con la plataforma. Si le añade ShutdownTerminal con el valor "Yes", la plataforma se cerrará automáticamente justo después de que se complete el script.
  6. Reforzada la protección de los protocolos y productos de red en el Mercado.
  7. Desactivada la compatibilidad con el servicio "Señales" para cuentas demo. Para obtener estadísticas avanzadas sobre sus cuentas de entrenamiento, utilice el nuevo informe comercial. Este ofrece un gran número de métricas sobre la rentabilidad y el riesgo de su estrategia, contiene gráficos de crecimiento, balance y equidad, gráficos de distribución de transacciones por dirección e instrumentos, y mucho más.
  8. Corregida la representación de enlaces a los acuerdos de brókeres en el menú “Ayuda".
  9. Mejorada la selección del mejor servidor al alquilar un VPS.
  10. Corregida la actualización de la página de suscripciones al cambiar de sección en el navegador.
  11. Corregida la actualización de la lista de acuerdos al abrir una cuenta preliminar.
  12. Actualizadas las traducciones de la interfaz de usuario.

MQL5

  1. Añadida la propiedad MQL_STARTED_FROM_CONFIG a la enumeración ENUM_MQL_INFO_INTEGER. Esta retornará true si el script/experto se ha iniciado desde la sección StartUp del archivo de configuración. Esto significará que dicho script/experto ha sido registrado en el archivo de configuración con el que se ha iniciado el terminal.
  2. Continúan los trabajos de ampliación del soporte para los modelos ONNX.

    Las tareas de aprendizaje automático no siempre requieren una mayor precisión computacional. Para acelerar los cálculos, algunos modelos usan tipos de datos con menor precisión, como Float16 e incluso Float8. Para permitir a los usuarios suministrar dichos datos a la entrada del modelo, hemos añadido las siguientes funciones a MQL5:
    bool ArrayToFP16(ushort &dst_array[],const float &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayToFP16(ushort &dst_array[],const double &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayToFP8(uchar &dst_array[],const float &src_array[],ENUM_FLOAT8_FORMAT fmt);
    bool ArrayToFP8(uchar &dst_array[],const double &src_array[],ENUM_FLOAT8_FORMAT fmt);
    
    bool ArrayFromFP16(float &dst_array[],const ushort &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayFromFP16(double &dst_array[],const ushort &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayFromFP8(float &dst_array[],const uchar &src_array[],ENUM_FLOAT8_FORMAT fmt);
    bool ArrayFromFP8(double &dst_array[],const uchar &src_array[],ENUM_FLOAT8_FORMAT fmt);
    Como los formatos de números reales para 16 y 8 bits pueden diferir, en el parámetro fmt en las funciones de conversión se deberá indicar qué formato de número debe procesarse. Para las versiones de 16 bits se utilizará la nueva enumeración NUM_FLOAT16_FORMAT, que actualmente tiene los siguientes valores:

    • FLOAT_FP16 es un formato estándar de 16 bits, también conocido como half.
    • FLOAT_BFP16 es el formato especial brain float point.

    Para las versiones de 8 bits, se utilizará una nueva enumeración, ENUM_FLOAT8_FORMAT, que actualmente tiene los siguientes valores:

    • FLOAT_FP8_E4M3FN es un número de punto flotante de 8 bits, 4 bits de exponente y 3 bits de mantisa. Normalmente se usa como coeficientes.
    • FLOAT_FP8_E4M3FNUZ es un número de coma flotante de 8 bits, 4 bits de exponente y 3 bits de mantisa. Admite NaN; no admite cero negativo e Inf. Normalmente se usa como coeficientes.
    • FLOAT_FP8_E5M2FN es un número de coma flotante de 8 bits, 5 bits de exponente y 2 bits de mantisa. Ofrece soporte a NaN e Inf. Normalmente se utiliza para gradientes.
    • FLOAT_FP8_E5M2FNUZ es un número de coma flotante de 8 bits, 5 bits de exponente y 2 bits de mantisa. Admite NaN e Inf, no admite cero negativo. También se utiliza para gradientes.


  3. Añadidos nuevos métodos matriciales y vectoriales utilizados en el aprendizaje automático:

    • PrecisionRecall — calcula los valores para crear la curva precision-recall. Este método, al igual que el método ClassificationScore, se aplica a un vector de valores verdaderos.
    • ReceiverOperatingCharacteristic — calcula los valores para trazar la curva Receiver Operating Characteristic (ROC). Este método, al igual que el método ClassificationScore, se aplicará a un vector de valores verdaderos.

  4. ONNX Runtime se ha actualizado a la versión 1.17. Los detalles de la versión están disponibles en GitHub.
  5. El paquete de integración de Python se actualizado a la versión 5.0.4200, añadiendo soporte para Python 3.12. Actualice su paquete con "pip install --upgrade MetaTrader5" para obtener los últimos cambios.
  6. Corregido el funcionamiento de la función OrderCalcMargin para algunos casos.
  7. Añadido el valor DEAL_REASON_CORPORATE_ACTION a la enumeración ENUM_DEAL_REASON: la transacción se ha realizado como resultado de una acción corporativa: fusión o cambio de nombre de un valor, traspaso de un cliente a otra cuenta, etc.
  8. Añadido soporte para comparar vectores complejos y matrices para el método Compare. La comparación consistirá en estimar la distancia entre números complejos. La distancia se calculará usando la siguiente fórmula sqrt(pow(r1-r2, 2) + pow(i1-i2, 2)) y será un número real que ya podrá compararse con épsilon.
  9. Corregida la conversión de variables de tipo color a texto en formato RGB.
  10. Corregido el retorno del resultado de la obtención de vectores propios en el método Eig en caso de valor propio complejo. Añadida sobrecarga de métodos para una solución compleja.

MetaEditor

  1. Añadido un enlace al libro recientemente publicado “Programación MQL5 para tráders” en el menú Ayuda\MQL5.community. El libro también ha sido añadido al sistema de búsqueda, podrá encontrar los materiales necesarios en él directamente desde el MetaEditor:




  2. Mejorada la búsqueda integrada:

    • La sección de resultados de búsqueda de la ventana "Herramientas" está dividida en dos pestañas: "Buscar" – para los resultados de búsqueda en línea (documentación, artículos, libros, etc.), “Buscar en archivos” – para los resultados locales.
    • Se ha añadido una barra de búsqueda aparte a la sección de resultados. Podrá usarla en lugar de la barra de búsqueda en el panel de herramientas principal del MetaEditor.

  3. Añadido soporte para los modos AVX, AVX2 y AVX512 al compilar programas desde la línea de comandos. Para hacer esto, añada una de las claves al comando: /avx, /avx2 o /avx512.
  4. El motor SQLite para trabajar con bases de datos se ha actualizado a la versión 3.45.
  5. Deshabilitada la compatibilidad con Internet Explorer. Ahora solo se utilizará Microsoft Edge WebView2 para mostrar páginas HTML. En comparación con el MSHTML heredado, el nuevo componente expandirá significativamente las capacidades para mostrar contenido web, proporcionando acceso a tecnologías modernas. El cambio a WebView2 mejorará la apariencia de algunas secciones del MetaEditor, aumentará su rendimiento y creará interfaces más receptivas.
  6. Corregido el bloqueo que sucedía en raras ocasiones al completar automáticamente funciones.
  7. Corregido el bloqueo que sucedía en raras ocasiones al completar automáticamente funciones.

Simulador

  1. Corregido el cálculo del swap triple en caso de que el día de inicio de la prueba caiga en un día de swap triple.

Correcciones de crash logs.

MetaTrader 5 Web Terminal

Mejorada la representación de los requisitos de margen en las especificaciones del contrato. Ahora, además de los coeficientes y parámetros iniciales para el cálculo, se mostrará el valor final del margen. Si el monto del margen depende del volumen de la posición, los niveles correspondientes se mostrarán en la ventana de diálogo.



El margen se calcula considerando el precio del instrumento en el momento en que se abre la ventana de especificaciones y no cambia en tiempo real. En consecuencia, los valores deberán tomarse únicamente como indicativos. Para volver a calcular los valores a los precios actuales, abra nuevamente la especificaciones del instrumento.