¿Qué novedades tiene MetaTrader 5?

Historial de actualizaciones de las plataformas desktop, móvil y web

21 junio 2024
MetaTrader 5 build 4410: mejoras de rendimiento
MetaTrader 5 build 4410: mejoras de rendimiento

Terminal

  1. Corregido el bloqueo del terminal que se producía en algunos casos al ejecutar la simulación.

MQL5

  1. Corregido el funcionamiento de la propiedad MQL_PROGRAM_NAME para los programas de servicio. Antes, podía devolver un nombre no válido de ejemplar de servicio.

Web Terminal

  1. Corregida la comprobación de la compatibilidad del navegador con el terminal web. En algunos casos, los usuarios podían recibir un mensaje erróneo que informaba de la incompatibilidad de su navegador.
  2. Corregida la apertura de cuentas demo.
  3. Correcciones menores y mejoras.

La actualización estará disponible a través del sistema Live Update.

MetaTrader 5 Android

  1. Interfaz completamente actualizada para la versión de la aplicación para tabletas. Ahora usa un diseño moderno ya probado en las versiones iOS y web de la plataforma. Las secciones principales se encuentran ahora en la parte inferior de la pantalla, mientras que los comandos para trabajar con el gráfico se encuentran en la parte izquierda de la pantalla.




  2. Añadido un menú contextual en la sección de historia de posiciones que permite saltar rápidamente a la ventana de diálogo de operaciones o al gráfico del símbolo correspondiente.
  3. El comando para cambiar a la ventana de diálogo de comercio para los símbolos que no comercian está oculto.
  4. Corregido el trabajo con el servidor MetaQuotes-Demo.

Actualice sus aplicaciones móviles al build 4360 a través de Google Play, Huawei AppGallery o descargue el archivo APK.

7 junio 2024
MetaTrader 5 build 4380: mejoras de rendimiento

Terminal

  1. Corregidos los errores que, en algunos casos, provocaban el mal funcionamiento del sistema Live Update.
  2. Añadida la tecla Alt+X para llamar a la lista de expertos.
  3. Correcciones de crash logs.

MetaTester

  1. Corregidos errores en la configuración de algunas propiedades del objeto gráfico "Imagen".
  2. MetaTester: Prohibido conectar agentes de prueba a la red MQL5 Cloud Network al trabajar en entornos virtuales y cuando el procesador no admite el conjunto de instrucciones AVX.

Terminal web

  1. Corregido un error en el panel de operaciones rápidas del gráfico.
  2. Corregido el cuadro de diálogo de advertencia que se abre al activar el panel de operaciones rápidas en un gráfico.
31 mayo 2024
MetaTrader 5 build 4350: más objetos analíticos en la plataforma web y página de inicio en el MetaEditor

MetaEditor

  1. Añadida una página de inicio para ayudarle a comenzar su andadura en el trading algorítmico y el desarrollo de aplicaciones comerciales.



    Materiales para principiantes
    El apartado "Introducción" le informará detalladamente sobre los materiales de formación disponibles en MQL5.com: documentación completa sobre el lenguaje, libros, artículos y foro de desarrolladores, así como una biblioteca de códigos listos para usar. Aquí también se familiarizará con los servicios en los que podrá aplicar y monetizar sus conocimientos: el mercado de aplicaciones, la bolsa Freelance y las señales comerciales.

    Consulte las secciones de la documentación y los libros para obtener una descripción más detallada de los tutoriales disponibles.

    Funciones útiles para quienes se dedican al desarrollo
    En la sección "Novedades", hemos recopilado toda la información que necesita un desarrollador para mantenerse al día:


    También verá una lista con los últimos archivos abiertos para el acceso rápido.



    Si ya está vendiendo activamente sus aplicaciones en el Mercado, el informe "Mis ventas" le ayudará a evaluar sus progresos. Tendrá a su disposición:

    • Las estadísticas de ventas totales y descargas por tiempo.
    • La geografía de ventas para saber dónde son más populares sus desarrollos. Esto podrá sugerirle ideas para el desarrollo posterior del proyecto, por ejemplo, la localización a determinados idiomas o el lanzamiento de publicidad en una región determinada.
    • Los datos sobre los productos más populares por número de ventas e importe de los ingresos. El calendario puede filtrarse por tipo de licencia: licencia completa o alquiler de una duración determinada. Aquí tendrá también un gráfico con la evolución del precio del producto. Todo ello le ayudará a comprender mejor a sus clientes.
    • Estadísticas detalladas de descargas y ventas de cada producto.


  2. Mejorada la búsqueda incorporada. La barra de búsqueda superior ahora solo se utilizará para buscar texto en el documento actual o en archivos locales. Utilice la sección aparte en "Herramientas" para buscar tutoriales y códigos de forma global.


  3. Añadida la compatibilidad con GPT-4o, el último modelo de ChatGPT, para Copilot. Ahora podrá utilizarlo para completar automáticamente el código y obtener pistas. Podrá seleccionar un nuevo modelo en los ajustes del MetaEditor.


  4. Actualizadas las traducciones de la interfaz de usuario.

Terminal

  1. Mayor precisión de la visualización del precio calculado en las especificaciones del instrumento comercial.
  2. Corregido el cálculo de los indicadores MFE y MAE en el informe comercial.
  3. Corregido el guardado y restablecimiento de los ajustes de filtrado del calendario económico por país y divisa.
  4. Corregida la aplicación de plantillas a los gráficos. Ahora, si la visualización de la historia comercial está activada para un gráfico, los objetos correspondientes no desaparecerán después de aplicar la plantilla.
  5. Corregido un error en el funcionamiento del panel de opciones. En algunos casos, la plataforma podía bloquearse al añadir símbolos.
  6. Corregido un error en la ventana de diálogo de edición de posiciones. En algunos casos, en lugar de los valores actuales de Stop Loss y Take Profit, los campos correspondientes podían sustituirse por valores incorrectos.
  7. Actualizadas las traducciones de la interfaz de usuario.

MQL5

  1. La función ArrayResize se ha optimizado y acelerado considerablemente. En algunos casos, la aceleración puede llegar al 40%.
  2. Actualizada la compatibilidad con ONNX.
  3. Corregida la llamada a la función MessageBox en los programas de servicio. Independientemente del botón que pulsara el usuario en la ventana de diálogo, la función retornaba un valor nulo.
  4. Corregido el error que, en algunos casos, provocaba una inicialización incompleta de los programas MQL5.
  5. Corregido el error de análisis de algunas macros. El error se producía al utilizar un gran número de constantes.


Terminal web MetaTrader 5

  1. Ampliado el conjunto de objetos analíticos disponibles. Ahora podrá utilizar una "regla" para medir el tiempo y los precios, las figuras (rectángulo, elipse, triángulo, círculo) y añadir cualquier rótulo al gráfico. Todos los objetos estarán disponibles en el panel izquierdo:


  2. Añadida la posibilidad de renombrar objetos.
  3. Mayor integración con el calendario económico. Optimizada y acelerada la consulta de datos.
  4. Acelerado el funcionamiento de los gráficos.
  5. Acelerados el inicio de la aplicación y la conexión a la cuenta comercial.
  6. Corregido el funcionamiento del ajuste que controla la visualización de las operaciones comerciales en el gráfico.
  7. Corregida la visualización de los requisitos de margen en las especificaciones del contrato.
  8. Corregida la visualización del estado de la cuenta en la sección de la historia. El problema se producía en dispositivos con una pantalla estrecha.
  9. Corregida la visualización de la profundidad de mercado.
22 marzo 2024
MetaTrader 5 build 4260: mejoras generales

Terminal

  1. Corregido el error al suscribirse a productos gratuitos en el servicio “Suscripciones”. En algunos casos, es posible que el botón correspondiente no esté presente en la ventana de diálogo.
  2. Actualizadas las traducciones de la interfaz de usuario.

MQL5

  1. Ampliado el soporte para eventos de teclado:

    • Añadido el evento CHARTEVENT_KEYUP al manejador OnChartEvent. Dicho evento permite monitorear el momento en que el usuario suelta una tecla en el teclado.
    • Añadido el procesamiento de teclas "muertas" (Dead keys), es decir, las teclas que permiten cambiar el tipo del siguiente carácter introducido. Por ejemplo, en la composición griega, poner énfasis en las vocales ά, έ, ύ, etc., debemos presionar la tecla “;” y luego introducir una letra. Ahora la pulsación de dichas teclas se puede monitorear utilizando la función TranslateKey.
    • Mejoradas las funciones TranslateKey y TerminalInfoInteger. Ahora, al recibir eventos CHARTEVENT_KEYUP o CHARTEVENT_KEYDOWN en OnChartEvent, podremos obtener el estado completo del teclado en el momento en que ha ocurrido el evento. Por ejemplo, si el usuario ha presionado la tecla Z, podrá saber si en ese momento se ha presionado la tecla Ctrl o Shift. Para otros eventos, las funciones operarán como antes: retornarán el estado del teclado en el momento actual.

  2. Actualizada la biblioteca Alglib. Debido a la actualización, se han cambiado los siguientes métodos en las clases CMatrixDouble y CMatrixComplex:
    vector<double/complex> operator[](const int i) const;
    vector<double/complex> operator[](const ulong i) const;
    Ahora, en lugar de ellos, se utilizará un método con un valor de retorno constante:
    const vector<double/complex> operator[](const ulong i) const;
    La corrección realizada nos permitirá detectar el uso incorrecto del resultado: en la nueva versión de Alglib, el código mat[row][col]=x funciona de forma diferente que en la anterior. Antes, esto suponía la escritura en un array, pero ahora supone la escritura en un objeto vectorial temporal <double/complex> que se destruye inmediatamente después de la escritura.

    La adición de const al valor retornado hace que resulte imposible usar mat[row][col]=x. Debido a que mat[row] ahora retorna un vector constante, intentar sobrescribir su elemento con mat[row][col] provocará un error de compilación.

  3. Corregido el error que en algunos casos provocaba un funcionamiento incorrecto de las funciones ChartGet*.

MetaEditor

  1. Añadida la búsqueda en el libro “Redes neuronales en el trading algorítmico en MQL5”. Ahora se combina en una sección con el libro publicado anteriormente "Programación en MQL5 para tráders".



Tester

  1. Corregida la optimización para una gran cantidad de agentes remotos. En algunos casos, el error podría provocar una carga excesiva de la CPU.


Terminal web MetaTrader 5

  1. Corregida la colocación de órdenes límite para instrumentos con ejecución bursátil. Ahora, cuando el precio de la orden colocada cambia en relación con el actual (más alto o más bajo), el tipo de orden propuesta no cambiará de Buy Limit a Sell Limit y viceversa, como ocurre con otros tipos de instrumentos. Así, el usuario, si es necesario, podrá colocar órdenes Buy Limit por encima del mercado y órdenes Sell Limit por debajo del mercado para limitar el precio de la transacción de forma garantizada.
  2. Corregida la visualización de contadores para los símbolos seleccionados en la «Observación de mercado».
7 marzo 2024
MetaTrader 5 build 4230: más aplicaciones integradas y soporte ampliado para ONNX

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.
18 enero 2024
MetaTrader 5 build 4150: exportación de informes comerciales y nuevos métodos de aprendizaje automático en MQL5

Terminal

  1. Añadida la exportación del informe comercial a un archivo HTML y PDF. Ahora podrá compartir fácilmente sus logros comerciales con colegas o inversores. Para realizar la exportación, utilice el menú en el propio informe o en el menú «Archivo».




  2. Añadida la capacidad de guardar el estado actual de la ventana de «Observación de mercado» en un archivo CSV. Para hacer esto, clique en "Exportar" en el menú contextual. El archivo guardará los valores de los indicadores seleccionados al momento de la exportación. Para descargar más datos, active columnas adicionales a través del menú contextual.




  3. Visualización mejorada de los requisitos de margen en las especificaciones del contrato. Ahora, en lugar 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.

  4. 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 una gran cantidad de indicadores sobre la rentabilidad y el riesgo de su estrategia, así como gráficos de crecimiento, balance y equidad, gráficos de distribución de transacciones por dirección e instrumentos, y mucho más.
  5. Corregida la visualización de las ganancias/pérdidas potenciales al editar el Take Profit y el Stop Loss para las órdenes Stop Limit.
  6. Numerosas correcciones y mejoras en el sistema de pago.
  7. Corregida la verificación de duplicados al cargar un conjunto de herramientas en la "Observación de Mercado" desde un archivo *.set.
  8. Corregido el instalador web de Paralles. Ahora, al utilizar este sistema de virtualización en macOS con procesadores M1/M2/M3, la plataforma se instalará correctamente.
  9. Actualizadas las traducciones de la interfaz de usuario.
  10. Correcciones de crash logs.

MQL5

  1. MQL5: Añadidos nuevos métodos para trabajar con matrices y vectores. Se utilizan en el aprendizaje automático.

    • ConfusionMatrix: calcula la matriz de error. El método se aplica al vector de valores predichos.
    • ConfusionMatrixMultilabel: calcula la matriz de error para cada etiqueta. El método se aplica al vector de valores predichos.
    • ClassificationMetric: calcula una métrica de clasificación para evaluar la calidad de los datos previstos en relación con los datos verdaderos. El método se aplica al vector de valores predichos.
    • ClassificationScore: calcula una métrica de clasificación para evaluar la calidad de los datos pronosticados en relación con los datos verdaderos. El método se aplica a un vector de valores verdaderos.
     
  2. Corregido el guardado de datos en un archivo de texto UTF-8 usando la función FileWrite.
  3. Desactivadas y declaradas como anticuadas las funciones Signal*. Ahora retornarán conjuntos de señales vacíos.

MetaEditor

  1. Aumentada la frecuencia de muestreo al realizar el perfilado. Ahora el estado de la aplicación se captura 10.000 veces por segundo, lo cual permite medir la velocidad de ejecución de la función con mucha más precisión.
  2. Actualizados los modelos disponibles en la herramienta de adición automática de código Copilot. Añadido el modelo ChatGPT-4 Turbo: se han eliminado las implementaciones obsoletas.
  3. Corregidos los errores al reemplazar palabras en un fragmento de texto seleccionado.

Simulador

  1. Corregido el bloqueo de las pruebas forward. El problema podía ocurrir en el modo de optimización genética.
  2. Optimizado y significativamente acelerado el trabajo con la historia comercial de los programas MQL5.
  3. Corregido el cálculo del beneficio en las operaciones de cierre con orden opuesta. El error podía ocurrir con instrumentos comerciales que no son la principal herramienta de prueba.

Terminal web

  1. Corregida la actualización de las propiedades de los instrumentos comerciales cuando estas se modifican por parte del bróker.
  2. Corregida la visualización del cuerpo de la vela en el gráfico. De ser pequeño, el cuerpo podía no resultar visible.
  3. Corregido el funcionamiento del campo “País” en el formulario de apertura de la cuenta.
20 octubre 2023
MetaTrader 5 build 4040: Mejoras y correcciones

Terminal

  1. El nuevo informe comercial ha sido mejorado. Corregida la visualización del primer valor en el gráfico de crecimiento, así como el cálculo de la reducción.



  2. Al abrir una cuenta, cada tráder recibirá varios mensajes a través del correo electrónico integrado. Además de los datos de conexión, encontrará mucha información útil sobre las capacidades de la plataforma y los servicios integrados. Hemos actualizado y complementado estos correos, los hemos traducido a 50 idiomas y hemos actualizado completamente el diseño.
  3. Optimizadas las páginas para depositar y retirar fondos de la cuenta.
  4. Corregido el error de cambio de volumen al colocar una nueva orden. Con algunas combinaciones de ajustes de los instrumentos comerciales, el campo no estaba disponible para editar.
  5. Corregida la visualización de los enlaces a los acuerdos con el bróker en la ventana de diálogo de apertura de la cuenta demo.
  6. Actualizadas las traducciones de la interfaz de usuario.

MQL5

  1. Solucionado el error que en algunos casos provocaba que el programa MQL5 fallara al iniciar la plataforma.

Terminal web MetaTrader 5

  1. Corregida la visualización de Stop Loss y Take Profit en la historia comercial.
  2. Ampliada la muestra de entradas en el diario de registro. Ahora se mostrarán mensajes sobre las conexiones exitosas y fallidas.
  3. Corregido el funcionamiento del menú contextual en la "Observación del Mercado".
  4. Corregida la visualización de notificaciones sobre los resultados de las operaciones al comerciar desde la profundidad del mercado.
  5. Corregido el error que provocaba que la subventana del indicador pudiera eliminarse del gráfico al llamar a la ventana de diálogo comercial.
  6. Corregido el arrastre de los niveles comerciales en el gráfico cuando estos se representan encima de objetos analíticos.
29 septiembre 2023
MetaTrader 5 build 4000: Mejoras en el informe comercial y el terminal web

Terminal

  1. Añadida la visualización del aumento mensual de dinero en el nuevo informe comercial. Para ver los indicadores, vaya al informe "Summary" y seleccione el modo "Balance".



  2. Corregida y mejorada la visualización del nuevo informe comercial.
  3. ONNX Runtime se ha actualizado a la versión 1.16. Los detalles de la versión están disponibles en GitHub.
  4. Actualizadas las traducciones de la interfaz de usuario.

Terminal web MetaTrader 5

  1. Corregida la visualización de las ventanas de diálogo de cambio de contraseña y apertura de cuenta.
  2. Solucionado el error que se producía al mostrar el Stop Loss y el Take Profit en la historia tras la modificación de estos.
  3. Añadida la capacidad de desplazarse por la ventana de diálogo sobre la advertencia de riesgos.
  4. Actualizadas las traducciones de la interfaz de usuario.
  5. Introducidas varias mejoras y correcciones.
21 septiembre 2023
MetaTrader 5 build 3980: Mejoras y correcciones

Terminal

  1. Mejorado el nuevo informe comercial. Corregida la visualización del valor total de los swaps, así como el gráfico de beneficios de los símbolos.
  2. Optimizadas las páginas de recarga y retirada. Encontrará más información sobre la nueva integración de la plataforma con los sistemas de pago en nuestra noticia anterior sobre el build 3950.
  3. Optimizado el recálculo de transacciones financieras en toda la plataforma, incluido el simulador de estrategias. Ahora los indicadores de beneficio, márgenes y muchos otros parámetros se calculan más rápidamente.
  4. Actualizadas las traducciones de la interfaz de usuario.

MQL5

  1. Añadidos los métodos Conjugate para los tipos complex, vector<complex> y matrix<complex>. Estos realizan el conjugado para números complejos.
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       complex a=1+1i;
       complex b=a.Conjugate();
       Print(a, " ", b);
       /*
       (1,1) (1,-1)
       */
    
       vectorc va= {0.1+0.1i, 0.2+0.2i, 0.3+0.3i};
       vectorc vb=va.Conjugate();
       Print(va, " ", vb);
       /*
       [(0.1,0.1),(0.2,0.2),(0.3,0.3)]  [(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]
       */
    
       matrixc ma(2, 3);
       ma.Row(va, 0);
       ma.Row(vb, 1);
       matrixc mb=ma.Conjugate();
       Print(ma);
       Print(mb);
       /*
       [[(0.1,0.1),(0.2,0.2),(0.3,0.3)]
        [(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]]
    
       [[(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]
        [(0.1,0.1),(0.2,0.2),(0.3,0.3)]]
       */
       
       ma=mb.Transpose().Conjugate();
       Print(ma);
       /*
       [[(0.1,0.1),(0.1,-0.1)]
        [(0.2,0.2),(0.2,-0.2)]
        [(0.3,0.3),(0.3,-0.3)]]
       */
      }
  2. Añadido el procesamiento de la muestra del modelo ONNX del tipo Sequence of maps.

    Para los modelos ONNX que ofrecen secuencias Map en la capa de salida (ONNX_TYPE_SEQUENCE of ONNX_TYPE_MAP), se deberá transmitir un array de estructuras dinámico o fijo como parámetro de salida. Los dos primeros campos de esta estructura deberán coincidir con los tipos de clave y valor ONNX_TYPE_MAP y ser arrays fijos o dinámicos.

    Vamos a analizar el modelo iris.onnx, creado mediante el siguiente script de Python:
    from sys import argv
    data_path=argv[0]
    last_index=data_path.rfind("\\")+1
    data_path=data_path[0:last_index]
    
    from sklearn.datasets import load_iris
    iris_dataset = load_iris()
    from sklearn.model_selection import train_test_split
    X_train, X_test, y_train, y_test = train_test_split(iris_dataset['data'], iris_dataset['target'], random_state=0)
    from sklearn.neighbors import KNeighborsClassifier
    knn = KNeighborsClassifier(n_neighbors=1)
    knn.fit(X_train, y_train)
    
    #  Convert into ONNX format
    from skl2onnx import convert_sklearn
    from skl2onnx.common.data_types import FloatTensorType
    initial_type = [('float_input', FloatTensorType([None, 4]))]
    onx = convert_sklearn(knn, initial_types=initial_type)
    path = data_path+"iris.onnx"
    with open(path, "wb") as f:
        f.write(onx.SerializeToString())
    Abra el archivo onnx creado en MetaEditor:

    Visualización del modelo ONNX en el MetaEditor


    Como salida "output_probability" se muestra una secuencia de Map, cuya clave es de tipo INT64 (que se corresponde con el tipo long del lenguaje MQL5) y el valor de tipo float. Para obtener los datos de esta salida, declararemos la siguiente estructura:
    struct MyMap
      {
       long              key[];
       float             value[];
      };
    Aquí hemos utilizado arrays dinámicos con los tipos correspondientes. En este caso, podemos usar arrays fijos, ya que para este modelo Map siempre contiene 3 pares clave+valor.

    Como la secuencia se devuelve desde Map, se deberá transmitir un array de dichas estructuras como parámetro para obtener los datos de la salida output_probability, dinámica o fija, según las propiedades del modelo en particular. Ejemplo:
    //--- declaramos un array para recibir los datos de la capa de salida output_probability
    MyMap output_probability[];
    
    ...
    
    //--- ejecución del modelo
    OnnxRun(modelo,ONNX_DEBUG_LOGS,float_input,output_label,output_probability);

MetaEditor

  1. Corregida la visualización del tipo de parámetro de salida en el visor de modelos ONNX.

MetaTrader 5 Web Terminal build 3980

  1. Añadida al menú principal la sección de contacto con el bróker.
  2. Añadido el procesamiento del error de autorización con la ayuda del certificado SSL. Este tipo de autorización no es compatible con el terminal web, en su lugar se puede activar la autorización usando contraseñas de un solo uso.
  3. Corregido el enlace para descargar la versión de escritorio de la plataforma en el menú principal.
  4. Modificada la ventana de diálogo de gestión de cuentas. Si el bróker no dispone de cuentas demo o reales, la opción correspondiente del menú estará oculta.
14 septiembre 2023
MetaTrader 5 build 3950: Retirada/depósito en el terminal e informe comercial actualizado

Terminal

  1. Añadido soporte para operaciones de balance para la retirada y el depósito en una cuenta comercial directamente en el terminal del cliente.

    Hemos añadido la integración de los sistemas de pago más populares directamente en la plataforma MetaTrader 5, lo cual permite a los brókeres ofrecer a sus tráders un nuevo nivel de servicio. Al depositar o recargar la cuenta, simplemente tendrá que seleccionar el método más adecuado para usted y completar la transacción. Para mayor comodidad de los tráders, estos podrán guardar las tarjetas seleccionadas para no introducir sus datos cada vez. Al mismo tiempo, el bróker no almacenará ningún dato de pago ni número de tarjeta. Todos los datos introducidos por el usuario se enviarán para su verificación a través de canales seguros al sistema de pago que haya seleccionado para realizar el mismo.

    La nueva funcionalidad ofrece a los tráders la capacidad de administrar sus fondos con un solo clic sin salir del terminal de cliente.



  2. El informe de la historia de transacciones se ha rediseñado y actualizado por completo, ahora resulta más visual. Hemos revisado nuestro enfoque de la presentación de la información y hemos convertido los áridos informes estadísticos en gráficos y cuadros interactivos. Aún no hemos finalizado el trabajo, pero ya se pueden apreciar los cambios.

    Para ver las estadísticas comerciales, pulse "Informes" en el menú "Ver".




    El informe se divide en cuatro pestañas, cada una de las cuales contiene información añadida en su propia sección:

    • Summary — información resumida sobre las transacciones realizadas durante todo el tiempo: datos de la cuenta, pérdidas y ganancias totales, importes depositados y retirados, balance, gráficos de crecimiento y dividendos y otros resultados de las transacciones.
    • Profit/Loss — información sobre operaciones rentables y perdedoras. Se divide según el tipo de comercio (manual, algorítmico y copiado de operaciones); los resultados pueden analizarse según las transacciones o el dinero por meses y años.
    • Long/Short — muestra la relación entre compras y ventas en dinámica y en intervalos de tiempo especificados, y también permite evaluar la rentabilidad en las direcciones Buy y Sell.
    • Symbols — análisis de transacciones según los instrumentos financieros. Aquí verá en qué símbolos gana o pierde, con qué frecuencia comercia con ellos, los gráficos de operaciones y los volúmenes de dinero en ellos.


    Los nuevos informes le permitirán evaluar visualmente los resultados del comercio en múltiples secciones transversales con solo clicar en la pestaña correspondiente. Los histogramas, gráficos y cuadros son interactivos y ofrecen información adicional al pasar el ratón por encima. Nuestros diseñadores han hecho un gran esfuerzo para que la información de los informes se pueda leer de la forma más fácil y clara posible. ¡Pruébelo usted mismo y notará la diferencia!

  3. Añadido el uso de instrucciones AVX2 cuando el procesador lo admita. Esto permitirá un uso más eficiente de las capacidades del procesador en el que se inicie el terminal. Ahora, al realizar la instalación o actualización, el propio terminal determinará la arquitectura del procesador e instalará la versión que resulte óptima para este procesador. Al inicio, el terminal escribirá un mensaje (AVX/AVX2) en el diario de registro, en el que mostrará para qué conjunto de instrucciones está diseñado el terminal.
    Terminal	MetaTrader 5 x64 build 3914 started for MetaQuotes Software Corp.
    Terminal	Windows 10 build 19045, 20 x Intel Xeon  E5-2630 v4 @ 2.20GHz, AVX, 41 / 63 Gb memory, 58 / 280 Gb disk, UAC, GMT+2
    

    Advanced Vector Extensions (AVX) — extensión del conjunto de instrucciones x86 para microprocesadores Intel y AMD, propuesto en 2008. Un mayor desarrollo dio como resultado el AVX2 y el AVX-512 (2013).

  4. Además de las dos versiones de los terminales MetaTrader 5 en X64 y AVX, hemos lanzado una tercera versión del terminal de escritorio compilada con soporte directo para los comandos AVX2. Al mismo tiempo, los modelos ONNX ahora también podrán funcionar con soporte para comandos AVX2.
  5. Añadida la visualización de enlaces a los documentos normativos necesarios del bróker. Ahora podrá obtener toda la información legal necesaria del bróker directamente en el terminal de cliente en el menú Help - Terms & Conditions.




  6. Corregida la autorización 2FA al utilizar de forma adicional la autorización ampliada con uso de certificados.
  7. Corregida la visualización de mensajes de correo interno al trabajar en MacOS.
  8. Corregida la visualización de la ventana Señales al trabajar en Wine.
  9. Publicados nuevos instaladores de terminales MT4/MT5 para Linux.
  10. Añadidos al menú Help los comandos para ir a las páginas de descarga de las versiones Linux y Mac del terminal. Para mayor comodidad de los tráders, hemos creado una sección especial en el sitio web donde se presentan las variantes del terminal comercial para todas las plataformas y para comerciar en el navegador.



  11. Corregida la inserción de imágenes en mensajes de correo interno.
  12. Publicados nuevos instaladores para el terminal MetaTrader 5 para Mac compatible con procesadores M1/M2. En relación con la transición a Wine 8.0.1, le recomendamos encarecidamente que elimine las versiones antiguas e instale las nuevas. Al usar versiones anteriores de Wine <8.0.0, se muestra un mensaje en el diario de registro del terminal indicando la necesidad de actualizar.
  13. Añadida la muestra de "VPS Hosting Speed Up" en el menú de escaneo de la red con el ping hasta su servidor comercial. Esto le permitirá ver claramente cómo disminuirá la latencia de su red alquilando un VPS en línea.



  14. Aumentada la seguridad de los requisitos para la complejidad mínima de contraseña, a saber:

    • la longitud de la contraseña será de al menos 8 caracteres
    • la contraseña deberá contener como mínimo 1 carácter en mayúscula y minúscula, 1 dígito y 1 carácter especial.

  15. Enlaces clicables en los registros del terminal. Ahora, al hacer doble clic en las líneas con enlaces https, se dará una transición al navegador con la apertura de enlaces.
  16. Corregida la búsqueda de instrumentos comerciales en la Observación del Mercado. Ahora el símbolo se buscará primero según el nombre y luego según el resto de campos: descripción, ISIN, etc.
  17. Corregida la contabilización de los beneficios de las transacciones al calcular el balance en los informes de la historia de transacciones de las cuentas. En algunos casos, el cálculo no tenía en cuenta el tipo de instrumento.

VPS Hosting

  1. Ahora puede enviar y ejecutar programas EX5 compilados para el conjunto de comandos x64/AVX/AVX2. Los programas con AVX512 en el VPS integrado no son compatibles.
  2. El número de localizaciones para alquilar un VPS integrado se ha incrementado a 27. Ahora la selección del servidor más cercano se ha vuelto aún más amplia.

MQL5

  1. Añadido el control de los ajustes de compilación, incluida la selección de conjuntos de instrucciones de procesador ampliadas: AVX, AVX2, AVX512, FMA3.

    Los procesadores modernos disponen de un conjunto de instrucciones ampliadas que aceleran significativamente los cálculos matemáticos, pero la gran mayoría de los programas modernos no usan dichas funciones. Hemos añadido el soporte para estas instrucciones al compilador MQL5, lo cual permitirá generar un código más eficiente y rápido.

    También hemos añadido la posibilidad de seleccionar con qué tipo de instrucciones se compilará un programa MQL5. Podrá especificar tanto ajustes generales para programas individuales en los Ajustes del MetaEditor como ajustes personales para proyectos:



  2. Las enumeraciones ENUM_AVERAGE_MODE y ENUM_CLASSIFICATION_METRIC se han añadido a los métodos de matrices y vectores.
  3. Añadido el método Set para vectores.
  4. Rediseñada la inicialización de OpenCL: ahora se inicializará con el primer uso real y no al cargar un programa MQL5 que contenga funciones OpenCL.
  5. Corregido el error al llamar a la función SocketIsConnected.
  6. Corregido el retraso al llamar al método OnDeinit al descargar indicadores personalizados.
  7. Corregido el error del compilador que provocaba que la longitud de la cadena en la propiedad Indicator_label se calculase incorrectamente, lo cual provocaba una visualización incorrecta de las descripciones emergentes para los objetos gráficos.
  8. Corregido el uso de comentarios de varias líneas en el cuerpo de la macro. Ejemplo de una macro en la que sucedía un error:
    #define MACRO1 /*
    #define MACRO2 */
    void OnStart()
    {
    #ifdef MACRO2
        Print( 2 );
    #else
        Print( 1 );
    #endif
    }
  9. Corregido el orden de los parámetros de la función MathAtan2. El orden ahora se corresponde con la función similar en C++.
  10. Añadido el nuevo valor TERMINAL_CPU_ARCHITECTURE a la enumeración ENUM_TERMINAL_INFO_STRING . También se ha añadido la macro __CPU_ARCHITECTURE__, que obtiene la arquitectura de la CPU de la computadora en la que se está ejecutando el terminal. Ejemplo de uso:
    void OnStart()
      {
       Print("CPU name:         ",TerminalInfoString(TERMINAL_CPU_NAME));
       Print("CPU cores:        ",TerminalInfoInteger(TERMINAL_CPU_CORES));
       Print("CPU architecture: ",TerminalInfoString(TERMINAL_CPU_ARCHITECTURE));  
       Print("");
       Print("EX5 architecture: ",__CPU_ARCHITECTURE__);                            
      }
    
    CPU name:         12th Gen Intel Core i9-12900K
    CPU cores:        24
    CPU architecture: AVX2 + FMA3
    
    EX5 architecture: AVX

  11. Cambiado el comportamiento del modificador extern. Ahora la declaración de una variable con el modificador extern se considerará una pre-declaración de variable.

    Nuevas restricciones:
    1. La pre-declaración de una variable no deberá contener una inicialización. Por ejemplo, al compilar el siguiente código, obtendremos el error "X - extern variable initialization is not allowed":
      extern int X=0;
      
      void OnStart()
        {
        }

    2. La variable extern deberá declararse en el programa sin la palabra clave extern. Por ejemplo, al compilar el siguiente código, obtendremos el error "unresolved extern variable X":
      extern int X;
      
      void OnStart()
        {
        }

    3. Al utilizar extern, será importante seguir el orden de inicialización, ya que se podrá obtener el acceso a una variable antes de inicializar esta. Por ejemplo, el siguiente código mostrará en el diario de registro "Y=0 X=5" porque la inicialización de la variable Y se produce antes de la inicialización de la variable X:
      extern int X;
      int        Y=X;
      
      void OnStart(void)
        {
         Print("Y=",Y," X=",X);
        }
        
      int X=_Digits;

MetaEditor

  1. Añadido el uso de instrucciones AVX2 cuando el procesador lo admita.
  2. Mejorada la visualización de variables locales al realizar la depuración.

Simulador

  1. Añadido el uso de instrucciones AVX2 cuando resultan compatibles con el procesador.
  2. Corregido el error que en algunos casos provocaba un bloqueo durante la compilación.
  3. Actualizadas las traducciones de la interfaz de usuario.

Correcciones de crash logs.


MetaTrader 5 Web Terminal build 3950

  1. Añadida la visualización del precio Ask a la configuración del gráfico.



  2. Acelerada la carga inicial del terminal.
  3. Añadida la posibilidad de cambiar la contraseña.
  4. Añadida la posibilidad de eliminar y guardar la contraseña.
  5. Añadido un periodo personalizado para mostrar la historia comercial.
  6. Corregido el error durante el cambio forzado de contraseña.
  7. Corregido el cálculo de diff, la distancia entre el precio de apertura y los niveles TP/SL.



  8. Corregido el error de interrupción de los ticks al cerrar todas las órdenes/transacciones.
  9. Corregida la visualización de eventos del calendario económico: en algunos casos, estos no se mostraban en el gráfico, a pesar de que la opción estaba habilitada.
  10. Corregido el error cuando los indicadores se reiniciaban al cambiar el símbolo en el gráfico.
  11. Corregido el error en la forma de abrir una cuenta real al confirmar el teléfono/correo electrónico.
  12. Traducciones añadidas y corregidas.
8 junio 2023
MetaTrader 5 build 3800: órdenes Book or Cancel, ayuda de IA al escribir código y soporte ampliado de ONNX

Terminal

  1. Añadido el soporte para la nueva política de ejecución de órdenes: Pasiva / Book or Cancel (BOC).



    La política BOC implica que la orden solo se puede colocar en la profundidad de mercado. Si la orden puede ejecutarse inmediatamente tras su colocación, se retirará. De hecho, con esta política, se garantiza que el precio de la orden colocada sea peor que el del mercado actual. El BOC se utiliza para aplicar el comercio pasivo, de forma que se garantice que la orden no se ejecute inmediatamente tras ser colocada y no afecte a la liquidez actual. Solo tiene soporte para órdenes límite y stop límite, y solo en el modo de ejecución bursátil.

    La disponibilidad de la nueva política de ejecución de instrumentos dependerá de su bróker.

  2. La plataforma comienza a usar el componente Microsoft Edge WebView2 para mostrar páginas HTML.

    En comparación con el MSHTML, ya obsoleto, el nuevo componente amplía enormemente las posibilidades de muestra de contenido web, ofreciendo acceso a tecnologías modernas. La transición a WebView2 mejorará el aspecto de algunas secciones de la plataforma, aumentará su rendimiento y creará interfaces más receptivas. En concreto, esto afectará a las secciones "Mercado", "Señales" y "VPS".
    El soporte completo para WebView2 ha aparecido solo en Windows 10. Recomendamos encarecidamente a todos los usuarios actualizar a las últimas versiones del sistema operativo siempre que sea posible. Al trabajar en Windows 7 y Wine, la plataforma seguirá utilizando el componente MSHTML obsoleto y las nuevas características no estarán disponibles en ellos. También le recomendamos con insistencia que instale todas las actualizaciones disponibles del sistema operativo. En estos momentos, la versión mínima recomendada es Windows 10 21H2 (compilación 19044, noviembre de 2021).

  3. Mejorado el sistema de seguridad en el Mercado. Ahora, para poder iniciar el producto, el usuario deberá estar autorizado en la plataforma con la cuenta MQL5 con la que adquirió el producto. La cuenta deberá aparecer en la sección "Servicio \ Ajustes \ Comunidad":



    Si no se especifica una cuenta o se indica una cuenta no válida, el producto no se iniciará y aparecerá un mensaje similar al siguiente en el registro de la plataforma:
    'ProductName' requires active MQL5 account in Tools->Options->Community
  4. Añadido el comando "Visión general" al menú contextual de la sección de la historia. Le permite abrir un informe comercial en la cuenta:



  5. Corregidos los errores de visualización de la ventana de diálogo de autenticación de dos factores. Si el terminal tenía varias cuentas con el mismo número para diferentes brókeres, era posible que el campo para ingresar la contraseña de un solo uso no se mostrara en el formulario para conectarse.
  6. Acelerada la representación de indicadores con el estilo de visualización DRAW_COLOR_CANDLES.
  7. Corregidos errores en la creación del informe comercial. En algunos casos, los valores del beneficio y la equidad en los gráficos podían mostrarse incorrectamente.
  8. Añadida la visualización del indicador "Costes" en el informe comercial. Muestra la suma de los costes de la transacción en relación con el precio promedio actual del instrumento (mid-point spread cost). De hecho, esta es la cantidad que el tráder pierde en el spread al comerciar. La disponibilidad de este indicador dependerá del bróker.
  9. Actualizadas las traducciones de la interfaz de usuario.
  10. Mejorada la estabilidad al trabajar con Wine, especialmente en sistemas macOS. Le recomendamos eliminar por completo los terminales antiguos e instalarlos de nuevo:


  11. Acelerada la instalación y descarga de actualizaciones; también se ha mejorado el registro de disponibilidad de AVX en la computadora del usuario al elegir un kit de distribución.
  12. Habilitado el soporte para TLS 1.3 en protocolos web. TLS 1.0 está deshabilitado, ya que está obsoleto y resulta inseguro.
  13. Corregida la contabilización de la comisión de agente en los informes de la historia comercial. Las operaciones correspondientes no podían tenerse en cuenta al calcular el beneficio final.
  14. Corregido el error que impedía cambiar el servidor en la ventana de diálogo de conexión a la cuenta. El problema se producía cuando en el terminal había varias cuentas con el mismo número en distintos brókeres.
Los instaladores están siendo migrados para trabajar solo con versiones de 64 bits de la plataforma. Finaliza el soporte para las versiones de 32 bits. Las versiones de 32 bits de la plataforma previamente instaladas funcionarán hasta el 1 de enero de 2024.

MQL5

  1. Añadido el nuevo valor STAT_COMPLEX_CRITERION a la enumeración ENUM_STATISTICS. Esta permite obtener el valor del criterio complejocalculado como resultado de la optimización.
  2. Mejorado el método RegressionMetric, utilizado para calcular la métrica de regresión según la matriz o el vector transmitido. Añadidos los parámetros vector_true y matrix_true para transmitir los valores verdaderos que evalúan la calidad de los datos predichos.
    double vector::RegressionMetric(
       const vector& vector_true,            // valores verdaderos
       const ENUM_REGRESSION_METRIC  metric  // métrica
       );
     
    double matrix::RegressionMetric(
       const matrix& matrix_true,            // valores verdaderos
       const ENUM_REGRESSION_METRIC metric   // métrica
       );
     
    vector matrix::RegressionMetric(
       const matrix& matrix_true,            // valores verdaderos
       const ENUM_REGRESSION_METRIC metric,  // métrica
       const int                      axis   // eje
       );
  3. Añadido el método LinearRegression. Este retorna un vector/matriz con los valores de regresión lineal calculados para el vector/matriz transmitido.
    vector vector::LinearRegression();
     
    matrix matrix::LinearRegression(
       ENUM_MATRIX_AXIS axis=AXIS_NONE       // eje a lo largo del cual se calcula la regresión 
       );
    Ejemplo:
    vector vector_a;
    //--- rellenamos el vector con los precios
    vector_a.CopyRates(_Symbol,_Period,COPY_RATES_CLOSE,1,100);
    //--- obtenemos la regresión lineal
    vector vector_r=vector_a.LinearRegression();
    Visualización del resultado en forma de gráfico:




  4. Añadido el método HasNan que retorna el número de valores NaN en una matriz/vector.
    ulong vector::HasNan();
    ulong matrix::HasNan();
    Los métodos Compare y CompareByDigits, al comparar un par de elementos que tienen valores NaN, tratan estos elementos como iguales, mientras que con una comparación normal de números de coma flotante, NaN != NaN.

  5. Modificada la estructura OnnxTypeInfo, utilizada para trabajar con modelos ONNX:

    struct OnnxTypeInfo
      {
       ENUM_ONNX_TYPE       type;            // tipo de parámetro
       OnnxTensorTypeInfo   tensor;          // descripción del tensor
       OnnxMapTypeInfo      map;             // descripción del mapa
       OnnxSequenceTypeInfo sequence;        // descripción de la secuencia
      };

    Ahora el tipo de datos se especifica en ella usando nuevas subestructuras:

    • OnnxTensorTypeInfo - tensor
    • OnnxMapTypeInfo - mapa
    • OnnxSequenceTypeInfo - secuencia

    struct OnnxTensorTypeInfo
      {
       ENUM_ONNX_DATATYPE   data_type;       // tipo de datos en el tensor
       long                 dimensions[];    // número de elementos
      };
    
    struct OnnxMapTypeInfo
      {
       ENUM_ONNX_DATA_TYPE  key_type;        // tipo de clave
       OnnxTypeInfo         type_info;       // tipo de valor
      };
    
    struct OnnxSequenceTypeInfo
      {
       OnnxTypeInfo         type_info;       // tipo de datos en la secuencia
      };
    Dependiendo de OnnxTypeInfo::type (ONNX_TYPE_TENSOR, ONNX_TYPE_MAP o ONNX_TYPE_SEQUENCE) se rellenará la subestructura correspondiente.

  6. Mejorada la compatibilidad con los modelos ONNX (Open Neural Network Exchange).
  7. Añadidos los métodos CopyIndicatorBuffer, que permiten obtener los datos del búfer de indicador en un vector.
    bool vector<T>::CopyIndicatorBuffer(long indicator_handle,ulong buffer_index,ulong start_pos,ulong count);
    bool vector<T>::CopyIndicatorBuffer(long indicator_handle,ulong buffer_index,datetime start_time,ulong count);
    bool vector<T>::CopyIndicatorBuffer(long indicator_handle,ulong buffer_index,datetime start_time,datetime stop_time);
  8. Corregido el trabajo con arrays con dos o más dimensiones en los métodos FrameAdd y FrameNext.
  9. Corregido el funcionamiento del método CRedBlackTree::Remove en la biblioteca estándar.
  10. Se han realizado correcciones en la biblioteca de lógica difusa Fuzzy.

MetaEditor

  1. Añadida la integración con Copilot, una herramienta avanzada para completar código automáticamente. Su funcionamiento se basa en modelos OpenAI. Usted puede introducir un comentario o parte de una función, enviar una solicitud (prompt), la red neuronal la analiza y le ofrece opciones de código para implementar su idea.




    Dependiendo del tipo de archivo en el que esté trabajando, la cadena "MQL5 language", "Python language" o "C++ language". Entonces la red neuronal le ofrecerá el resultado en el lenguaje deseado.

    Actualmente, Copilot es gratuito y no es necesario activarlo por separado. Existen varias opciones disponibles en Herramientas \ Ajustes \ Copilot:




    Ajustes de pago:

    • Use una cuenta MQL5: este modo es actualmente gratuito. Podrá pagar la suscripción más tarde directamente desde el balance de su cuenta MQL5.
    • Use una clave OpenAI: si ya ha pagado una suscripción y tiene una clave, podrá usarla.

    Configuración de solicitudes:

    • Modelo — red neuronal que procesará sus solicitudes. Actualmente están disponibles text-davinci-003 y gpt-3.5-turbo. El soporte para gpt-4 se añadirá más adelante.
    • Máximo de tokens — número de unidades de texto que el modelo puede devolver en respuesta a un prompt.
    • Variabilidad — influye en lo estrictamente que la red neuronal se ceñirá al prompt. Cuanto mayor sea el valor, más aleatorio puede ser el resultado. En los modelos OpenAI, se corresponde con el parámetro temperature.

  2. Añadida la capacidad de ver las propiedades de los modelos ONNX.

    Ahora, podrá ver directamente en el editor el contenido de un archivo *.onnx de forma cómoda. Para ver qué aspecto tiene, busque el proyecto ONNX.Price.Prediction en "Herramientas \ Proyectos públicos" y luego clique en "Unirse" en el menú contextual. El proyecto se descargará en su computadora y aparecerá en el Navegador:



  3. Añadida la capacidad de visualizar modelos de aprendizaje automático y redes neuronales a través de Netron. Este visor es compatible con muchos modelos populares: ONNX, TensorFlow Lite, Caffe, Keras, ncnn y otros.

    Para ver un modelo, seleccione su archivo en el Navegador y clique en "Abrir en Netron". Si esta utilidad aún no ha sido instalada, se abrirá su página en GitHub, desde donde podrá descargar el archivo de instalación para su sistema operativo. Por ejemplo, Netron-Setup-XXXexe es para Windows. Después de instalar el programa, el modelo se abrirá directamente para verlo desde el Navegador.


    Formatos compatibles:

    • armnn, caffemodel, circle, ckpt, cmf, dlc, dnn, h5, har, hd5, hdf5, hn, keras, kmodel,
    • lite, mar, meta, mge, mlmodel, mlnet, mlpackage, mnn, model, nb, ngf, nn, nnp,
    • om, onnx, ort, paddle, param, pb, pbtxt, pdiparams, pdmodel, pdopt, pdparams, prototxt, pt, pth, ptl,
    • rknn, t7, tfl, tflite, tmfile, tm, tnnproto, torchscript, uff, xmodel

  4. Actualizadas las traducciones de la interfaz de usuario.

Simulador

  1. Corregido el cálculo del indicador "Transacción perdedora media" en el informe sobre la simulación. Antes, las transacciones de entrada podían tenerse en cuenta erróneamente en el cálculo si se cobraba una comisión por ellas.
  2. Mejorada la configuración de comisiones personalizadas en el simulador de estrategias. Para establecer un símbolo, ahora bastará con especificar solo su nombre, y no la ruta completa.
  3. Actualizados los iconos en el simulador de estrategias. Las nuevas metáforas y el aspecto moderno le facilitarán la percepción de la información.

Correcciones de crash logs.

Web Terminal

  1. Mejorada la sección de la historia comercial:

    • Añadida la visualización de operaciones de balance en la historia comercial: depósitos y retiradas, comisiones, correcciones, etc.
    • Añadida la visualización de los indicadores totales en la historia comercial: balance, beneficio, comisión, depósitos, retiradas, número de órdenes, etc.
    • Añadida la capacidad de clasificar operaciones y filtrar la historia según la profundidad en la versión móvil




  2. Complementada la especificación del contrato de los instrumentos. Ahora también muestra el límite del volumen, el tamaño y el coste del tick, el margen inicial y el cubierto.
  3. Esquemas de color mejorados:

    • En el gráfico, las órdenes pendientes ahora se muestran en gris, mientras que las posiciones están coloreadas según la dirección: rojo para la venta, azul para la compra. Si hay una gran cantidad de operaciones, el gráfico no se verá sobrecargado.
    • Al ver/editar una posición, solo se resaltarán esta y sus niveles: todas las demás posiciones y órdenes se volverán grises, y sus niveles se ocultarán de la escala de precios. El trabajo con las operaciones en el gráfico ahora será más cómodo.
    • Los Stop Loss ahora se muestran en color naranja en lugar de rojo, para que no se confundan con las posiciones de venta.
    • Se han mejorado los iconos que muestran los momentos de cierre de posición en el gráfico. Si la posición se cierra por un Take Profit, el ícono será verde, si se cierra por un Stop Loss, será rojo.

  4. Añadida la traducción de la interfaz al árabe, búlgaro, vietnamita, griego, indonesio, malayo, holandés, persa, polaco, tailandés, ucraniano e hindi. Ahora el terminal web ya está disponible en 24 idiomas.
  5. Corregida la traducción al turco.
  6. Corregida la modificación y la eliminación de órdenes pendientes en la versión móvil del terminal web.
  7. Corregida la pista sobre el cierre de mercado mostrada en el gráfico.
  8. Corregida la visualización del beneficio en el botón de cierre de posición en la ventana de diálogo comercial. El error ocurría durante el cierre parcial.
  9. Corregida la visualización de notificaciones comerciales en el gráfico.
  10. Corregido el cambio de volumen usando las flechas en la profundidad de mercado.
  11. Corregido el error que en algunos casos provocaba que la configuración de los indicadores en el gráfico se restableciera.
  12. Corregida la comprobación del nombre de usuario al abrir nuevas cuentas. Antes, la presencia de un apóstrofo en el nombre se consideraba un error.
  13. Corregido el procesamiento de recotizaciones. En algunos casos, era posible que no se mostrara la ventana de diálogo con la oferta de nuevos precios.
  14. Corregida la representación del indicador Ichimoku Kinko Hyo. Las líneas Chikou-span, Up kumo y Down kumo ahora se muestran con el desplazamiento correcto.
  15. Corregida la comprobación del margen inicial al abrir una nueva orden. El error se producía al utilizar el sistema de cobertura de registro de posiciones.
  16. Corregido el desplazamiento en la ventana de especificaciones del contrato.

MQL5.community

  1. El sitio web de MQL5 Cloud Network — https://cloud.mql5.com se ha actualizado por completo.

    Sepa cómo usar la potencia de miles de computadoras en todo el mundo para optimizar sus estrategias comerciales. Gracias a MQL5 Cloud Network, incluso los cálculos más voluminosos y complejos se pueden completar en cuestión de minutos. Aquí también aprenderá cómo convertirse en miembro de la red y ganar dinero ofreciendo sus recursos informáticos.




  2. Mejorada la sección de capturas de pantalla para productos en el Mercado. Los autores ahora pueden cargar ilustraciones con un tamaño de hasta 1920*1800 píxeles, lo cual mostrará mejor cómo funcionan las aplicaciones. Además, se ha actualizado la galería de capturas de pantalla. Las miniaturas de las imágenes se muestran en un cómodo carrusel y, al clicar en ellas, podrá abrir las imágenes a tamaño completo.



  3. Se ha mejorado la sección Freelance. Los usuarios ahora recibirán más avisos al realizar sus primeros pedidos:

    • Ejemplos de la tarea técnica y un recordatorio sobre la necesidad de adjuntarla
    • Instrucciones para completar las etapas
    • Consejos sobre el uso de plantillas

    Todo esto le ayudará a no confundirse en el proceso y obtener el resultado deseado.






24 marzo 2023
MetaTrader 5 build 3660: Mejoras y correcciones

Terminal

  1. Corregidos los errores que, en algunos casos, provocaban la formación incorrecta del diario de registro de la plataforma.
  2. Actualizadas las traducciones de la interfaz de usuario.

MQL5

  • Corregida la comprobación de variables globales. Al declarar variables idénticas en diferentes espacios de nombres, el compilador generaba una advertencia errónea de que la variable ya estaba declarada.

Web Terminal

  1. Añadida la traducción de la interfaz de usuario al portugués. El terminal web está ahora disponible en 12 idiomas.
  2. Corregida la ventana de diálogo para añadir el indicador de desviación estándar.
  3. Correcciones menores y mejoras.
17 marzo 2023
MetaTrader 5 build 3640: terminal web en 11 idiomas

Web Terminal

  1. Añadidas las traducciones de la interfaz en 10 idiomas ampliamente utilizados: ruso, francés, alemán, italiano, japonés, coreano, español, turco, chino simplificado y chino tradicional. Esta lista se ampliará en las próximas versiones. Para cambiar la interfaz a su propio idioma, utilice el menú:


    La interfaz del terminal web ahora está disponible en 11 idiomas


  2. Optimizado el mecanismo de conexión con el servidor comercial.

MQL5

  1. MQL5: Añadidas las banderas COPY_TICKS_VERTICAL y COPY_RATES_VERTICAL para los métodos CopyTicks, CopyTicksRange y CopyRates, respectivamente.

    Por defecto, el copiado de ticks y series en la matriz se realiza a lo largo del eje horizontal, es decir, los datos se añadirán a la izquierda al final de la fila. En las tareas de inicio de un modelo ONNX entrenado, dicha matriz deberá transponerse para suministrar los datos de entrada:

    const long                             ExtOutputShape[] = {1,1};    // model output shape
    const long                             ExtInputShape [] = {1,10,4}; // model input form
    #resource "Python/model.onnx" as uchar ExtModel[]                   // model as resource
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    int OnStart(void)
      {
       matrix rates;
    //--- get 10 bars
       if(!rates.CopyRates("EURUSD",PERIOD_H1,COPY_RATES_OHLC,2,10))
          return(-1);
    //--- input a set of OHLC vectors
       matrix x_norm=rates.Transpose();
       vector m=x_norm.Mean(0);               
       vector s=x_norm.Std(0);
       matrix mm(10,4);
       matrix ms(10,4);

    Ahora, bastará con indicar la bandera adicional COPY_RATES_VERTICAL (COPY_TICKS_VERTICAL para los ticks) al llamar al método para evitar operaciones innecesarias de transformación de datos:

    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    int OnStart(void)
      {
       matrix rates;
    //--- get 10 bars
       if(!rates.CopyRates("EURUSD",PERIOD_H1,COPY_RATES_OHLC|COPY_RATES_VERTICAL,2,10))
          return(-1);
    //--- input a set of OHLC vectors
  2. Añadido el valor CHART_SHOW_TRADE_HISTORY a la enumeración ENUM_CHART_PROPERTY_INTEGER. Esta propiedad controla la representación de las transacciones en la historia comercial en el gráfico. Para recuperar y establecer la propiedad, utilice las funciones ChartGetInteger y ChartSetInteger. Podrá leer más información sobre la representación de transacciones en el gráfico en la documentación de la plataforma.

MetaEditor

  • Corregido el bloqueo de la interfaz en raras ocasiones al compilar archivos.

Terminal

  • Correcciones de crash logs.
10 marzo 2023
MetaTrader 5 build 3620: mejoras en el terminal web, soporte de ONNX y multiplicación acelerada de matrices en MQL5

Terminal

  1. Corregido el error en el cálculo del beneficio final en el informe comercial.
  2. Actualizados los datos fundamentales de los instrumentos comerciales disponibles a través de la Observación de Mercado.
  3. Corregida la ejecución de la plataforma comercial en Wine 7.0.1 al ejecutarse en los sistemas Linux.
  4. Corregida la adición de símbolos a la Observación de Mercado a través de la barra de búsqueda. Antes no se podía añadir a la lista un símbolo encontrado según la descripción clicando en su línea.

MQL5

  1.  Añadido el soporte para trabajar con modelos ONNX (Open Neural Network Exchange).

    ONNX es una biblioteca abierta para construir redes neuronales de aprendizaje profundo. Este formato es compatible con muchas plataformas, como Chainer, Caffee2 y PyTorch. Al crear un modelo ONNX usando herramientas especializadas, podemos integrarlo en nuestro programa MQL5 y utilizarlo para tomar decisiones comerciales.

    La documentación incluye una descripción de todas las funciones compatibles. Encontrará un ejemplo de trabajo con un modelo de prueba en los proyectos públicos en el MetaEditor. Busque el proyecto ONNX.Price.Prediction en el apartado "Herramientas \ Proyectos Públicos", y pulse después "Unirse" en el menú contextual. El proyecto se descargará en su ordenador y aparecerá en el Navegador:


    Ejemplo de trabajo con un modelo ONNX en un proyecto público


    Compile el proyecto y ejecútelo en EURUSD H1 para ver el resultado.

    Además del modelo ya preparado y del código MQL5 para ejecutarlo, en el proyecto también estará disponible el script Python PricePredictionTraining.py. Este muestra cómo crear un modelo ONNX por uno mismo. Para ejecutar el script, instale Python en su ordenador, además de los módulos necesarios desde la línea de comandos:

    python.exe -m pip install --upgrade pip
    python -m pip install --upgrade tensorflow
    python -m pip install --upgrade pandas
    python -m pip install --upgrade scikit-learn
    python -m pip install --upgrade matplotlib
    python -m pip install --upgrade tqdm
    python -m pip install --upgrade metatrader5
    python -m pip install --upgrade onnx==1.12
    python -m pip install --upgrade tf2onnx
    En la documentación encontrará instrucciones detalladas sobre cómo utilizar ONNX.

  2. Añadido el soporte para el nuevo algoritmo de multiplicación de matrices General Matrix Multiplication (GeMM). Dicho algoritmo acelera sustancialmente los cálculos en la mayoría de los procesadores al paralelizar las tareas y ayuda a aprovechar mejor las cachés L1/L2/L3. La velocidad de cálculo es comparable a la de paquetes tan conocidos como Math Kernel Library (MKL) y OpenBLAS. En breve publicaremos pruebas comparativas detalladas.

    Actualmente, el nuevo algoritmo es compatible con el método matrix::GeMM. Si su procesador admite las instrucciones AVX y FMA (como la mayoría de los procesadores lanzados después de 2013), el algoritmo se activará automáticamente.

  3. Añadido el soporte de transferencia de matrices y vectores a DLL. Ahora podrá importar funciones que usen este tipo de datos desde bibliotecas externas.

    Las matrices y los vectores se transmiten a DLL como un puntero al búfer. Por ejemplo, para transmitir una matriz de tipo float, el parámetro correspondiente de la función exportada desde la DLL deberá tomar un puntero a un búfer de tipo float. Ejemplo:

    MQL5
    #import "mmlib.dll"
    bool sgemm(uint flags,matrix<float> &C,const matrix<float> &A,const matrix<float> &B,ulong M,ulong N,ulong K,float alpha,float beta);
    #import
    C++
    extern "C" __declspec(dllexport) bool sgemm(UINT flags,float *C,const float *A,const float *B,UINT64 M,UINT64 N,UINT64 K,float alpha,float beta)
    Para procesar correctamente las matrices y vectores, además de sus búferes, deberemos transmitir sus dimensiones.

  4. Añadida la nueva función CopySeries para copiar series temporales sincronizadas desde MqlRates a arrays aparte.

    La función CopySeries permite obtener de una sola vez solo las series temporales deseadas en los distintos arrays especificados, además, todas ellas estarán sincronizadas entre sí. Esto significa que todos los valores de los arrays resultantes para un determinado índice N pertenecerán a la misma barra en el par Símbolo/Marco temporal indicado. En este caso, no será necesario preocuparse de que todas las series temporales obtenidas estén sincronizadas con la hora de apertura de la barra.

    A diferencia de CopyRates, que retorna un conjunto completo de series temporales como un array MQLRates, la función CopySeries permite al programador obtener solo las series temporales deseadas usando como base una combinación de banderas que indican el tipo de serie temporal solicitada. El orden de los arrays transmitidos a la función deberá coincidir con el orden de los campos de la estructura MqlRates:

    struct MqlRates
      {
       datetime time;         // hora de inicio del periodo
       double   open;         // precio de apertura
       double   high;         // precio máximo en el periodo
       double   low;          // precio mínimo en el periodo
       double   close;        // precio de cierre
       long     tick_volume;  // volumen de ticks
       int      spread;       // spread
       long     real_volume;  // volumen bursátil
      }

    Así, si desea obtener los valores de las series temporales time, close y real_volume de las últimas 100 barras del símbolo/marco temporal actual, la llamada debería ser la siguiente:

    datetime  time[];
    double    close[];
    long      volume[];
    CopySeries(NULL,0,0,100,COPY_RATES_TIME|COPY_RATES_CLOSE|COPY_RATES_VOLUME_REAL,time,close,volume);
    

    El orden de los arrays "time, close, volume" es importante: deberá coincidir con el orden de los campos de la estructura MqlRates. En cambio, el orden de los valores en la máscara rates_mask no importará, la máscara podría ser así:

    COPY_RATES_VOLUME_REAL|COPY_RATES_TIME|COPY_RATES_CLOSE

    Ejemplo

    //--- input parameters
    input datetime InpDateFrom=D'2022.01.01 00:00:00';
    input datetime InpDateTo  =D'2023.01.01 00:00:00';
    input uint     InpCount   =20;
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart(void)
      {
    //--- matrices para obtener las series temporales de la estructura de precio Rates
       double   open[];
       double   close[];
       float    closef[];
       datetime time1[], time2[];
    //---solicitamos los precios de cierre a un array del tipo double
       ResetLastError();
       int res1=CopySeries(NULL, PERIOD_CURRENT, 0, InpCount,
                           COPY_RATES_TIME|COPY_RATES_CLOSE, time1, close);
       PrintFormat("1. CopySeries  returns %d values. Error code=%d", res1, GetLastError());
       ArrayPrint(close);
       
    
    //--- ahora solicitaremos más precios apertura, mientras que los precios de cierre los solicitaremos a un array de tipo float
       ResetLastError();
       int res2=CopySeries(NULL, PERIOD_CURRENT, 0, InpCount,
                           COPY_RATES_TIME|COPY_RATES_CLOSE|COPY_RATES_OPEN, time2, open, closef);
       PrintFormat("2. CopySeries  returns %d values. Error code=%d", res2, GetLastError());
       ArrayPrint(closef);
    //--- comparamos los datos obtenidos
       if((res1==res2) && (time1[0]==time2[0]))
         {
          Print("  | Time             |    Open      | Close double | Close float |");
          for(int i=0; i<10; i++)
            {
             PrintFormat("%d | %s |   %.5f    |   %.5f    |   %.5f   |",
                         i, TimeToString(time1[i]), open[i], close[i], closef[i]);
            }
         }
    /*  Resultado
            1. CopySeries  returns 0 values. Error code=0
            [ 0] 1.06722 1.06733 1.06653 1.06520 1.06573 1.06649 1.06694 1.06675 1.06684 1.06604
            [10] 1.06514 1.06557 1.06456 1.06481 1.06414 1.06394 1.06364 1.06386 1.06239 1.06247
            2. CopySeries  returns 0 values. Error code=0
            [ 0] 1.06722 1.06733 1.06653 1.06520 1.06573 1.06649 1.06694 1.06675 1.06684 1.06604
            [10] 1.06514 1.06557 1.06456 1.06481 1.06414 1.06394 1.06364 1.06386 1.06239 1.06247
              | Time             |    Open      | Close double | Close float |
            0 | 2023.03.01 17:00 |   1.06660    |   1.06722    |   1.06722   |
            1 | 2023.03.01 18:00 |   1.06722    |   1.06733    |   1.06733   |
            2 | 2023.03.01 19:00 |   1.06734    |   1.06653    |   1.06653   |
            3 | 2023.03.01 20:00 |   1.06654    |   1.06520    |   1.06520   |
            4 | 2023.03.01 21:00 |   1.06520    |   1.06573    |   1.06573   |
            5 | 2023.03.01 22:00 |   1.06572    |   1.06649    |   1.06649   |
            6 | 2023.03.01 23:00 |   1.06649    |   1.06694    |   1.06694   |
            7 | 2023.03.02 00:00 |   1.06683    |   1.06675    |   1.06675   |
            8 | 2023.03.02 01:00 |   1.06675    |   1.06684    |   1.06684   |
            9 | 2023.03.02 02:00 |   1.06687    |   1.06604    |   1.06604   |
    */
      }
  5. Corregido el error que, en raras ocasiones, provocaba que se obtuviera un ticket de orden incorrecto después de enviar una solicitud con la función OrderSend. El error podía producirse al comerciar en paralelo en la misma cuenta a través de diferentes plataformas.
  6. Corregido el error al importar bibliotecas EX5 que ocurría si el nombre de la biblioteca que se estaba importando era el mismo que el nombre del archivo en el que se estaba importando.

MetaEditor

  1. Añadidas notificaciones Push a los participantes de los proyectos grupales. Ahora, todos los participantes estarán siempre al tanto de cualquier cambio en los archivos o en la configuración del proyecto. Para recibir notificaciones, indique su MetaQuotes ID en la sección "Ajustes \ Seguridad" de su perfil en MQL5.community.


    Notificaciones push sobre cambios en el proyecto


  2. Actualizados los iconos de los archivos en el Navegador. Las nuevas metáforas, más sencillas, facilitarán la comprensión de la información.

Simulador

  1. Corregido el error que provocaba el recorte del parámetro string de entrada si contenía el carácter "|".

MetaTrader 5 Web Terminal build 3620

  1. Añadidos varios esquemas de color para la interfaz. Estos afectan a la visualización de las barras y líneas en el gráfico, a los precios en la Observación de Mercado y al rendimiento financiero de la cuenta. Nuestros diseñadores han elegido combinaciones de colores cómodas pensando en los tráders.


    Nuevos esquemas de color para el terminal web


  2. Rediseñada la ventana de especificación del instrumento comercial. Todos los datos se organizan ahora en bloques lógicos compactos para facilitar su visualización.


    Ventana de especificación de instrumentos comerciales actualizada


  3. Corregida la apertura de cuentas reales a través del terminal web. En algunos casos, el servidor podía retornar un error tras completar el formulario de registro.
  4. Corregido el error en la ventana de diálogo comercial. Si el usuario abría la ventana de diálogo de modificación de la posición y luego cerraba la posición con el botón "X" de la ventana de herramientas, no se restablecía el contenido de la ventana de diálogo. En este caso, la ventana de diálogo volverá automáticamente al modo de colocación de nuevas órdenes.
  5. Corregida la visualización del campo Server en la ventana de diálogo de gestión de cuentas.
  6. Corregida la visualización fija del marco temporal actual en la barra de herramientas.
  7. Corregida la visualización fija del volumen en número de unidades del activo básico en la ventana de diálogo comercial.
  8. Corregida la modificación de los niveles de Stop Loss y Take Profit. En algunos casos, la modificación de un valor podía provocar que otro se reseteara.
  9. Corregida la visualización del aviso de riesgo para el inversor.


6 marzo 2023
MetaTrader 5 para iPhone/iPad: mejora de las funciones comerciales y analíticas de los gráficos
  1. Añadida la posibilidad de colocar órdenes stop y stop limit desde el gráfico.

    Ahora ya no se verá restringido solo a las órdenes límite. Seleccione el tipo de orden pendiente que desee pulsando sucesivamente el botón que corresponda en el panel inferior del gráfico.


    Colocando órdenes stop y stop limit desde un gráfico


  2. Añadida la posibilidad de pasar al cierre de posiciones y la eliminación de órdenes pendientes del gráfico. Seleccione el icono de una posición o el nivel de una orden en el gráfico y aparecerá la orden correspondiente en el panel comercial inferior:


    Gestionar posiciones y órdenes desde el gráfico


  3. Mejorada la función de desplazamiento del borde derecho del gráfico de precios. Para cambiar el desplazamiento, bastará con desplazar el gráfico hacia el último precio hasta que aparezca el divisor vertical. A continuación, tire del triángulo situado en la escala inferior del gráfico:


    Cambiamos la separación del gráfico tirando del triángulo de la escala inferior


  4. Añadida la posibilidad de copiar objetos analíticos en el gráfico. Esto le ayudará a trazar las marcas con mayor rapidez. Abra el menú de objetos con una pulsación larga y elija "Copiar":

    Creando copias de objetos analíticos


  5. Añadida la posibilidad de controlar la visualización de los indicadores en diferentes marcos temporales. Si el indicador no resulta adecuado para determinados periodos del gráfico, podrá ocultarse para dejar espacio en la pantalla a otras herramientas analíticas.


    Gestionando cómo se muestran los indicadores en diferentes marcos temporales


  6. Añadida la visualización de las comisiones de los instrumentos en la ventana de especificaciones.


    Conozca el importe de la comisión en las especificaciones del instrumento


  7. Añadida la posibilidad de usar un enlace para restaurar la contraseña de la cuenta. El acceso solo podrá restablecerse a través del bróker con el que se ha abierto la cuenta. El enlace le mostrará los datos de contacto donde podrá obtener ayuda.


    Ayuda al restablecer la contraseña


  8. Añadida la posibilidad de compartir enlaces a un canal en la comunidad MQL5.community


    Comparta un enlace a su canal a través de la aplicación


  9. Mejorada la experiencia del usuario al conectarse a una cuenta comercial restringida.

    El comercio en la cuenta puede estar restringido por varias razones: la conexión a la cuenta en el modo inversor, un acuerdo no aceptado, la verificación no superada con el bróker, etc. Al usuario le resultaba difícil entender por qué no había funciones comerciales en la aplicación.

    En estos casos, aparecerá un botón gris para colocar una nueva orden en la sección «Trading». Al hacer clic en este, el usuario verá información relevante y recomendaciones.


    Ayuda al usuario en el comercio restringido


  10. Mejorada la gestión de los certificados SSL utilizados para la autenticación ampliada.

    Al conectarse a una cuenta con autenticación ampliada, ahora se mostrará al usuario una breve descripción de los pasos necesarios.


    Mejorado el trabajo con certificados SSL


    También será posible importar un certificado desde un archivo PFX. Para ello, bastará con guardarlo en la aplicación «Archivos» y, a continuación, utilizar la función de importación de la ventana de diálogo de inicio.

    Además, ahora es posible exportar certificados a archivos para usarlos en otros dispositivos. Para ello, vaya a "Ajustes \ Certificados" y pulse "Exportar" en el menú de certificados.

  11. Los gráficos de precio se han trasladado a Metal, la última generación de la API gráfica utilizada en los dispositivos Apple. Esto aumentará sustancialmente el rendimiento al mostrar gráficos, indicadores y objetos.
  12. Corregidos los niveles de Stop Loss y Take Profit en la Profundidad de Mercado. En el caso de las cuentas FIFO, los niveles de stop se fijarán ahora de forma automática según los niveles de stop de las posiciones ya abiertas para el mismo instrumento. Esto es necesario para cumplir con la regla FIFO.
  13. Corregida la recotización. Al recibir una recotización, el usuario dispondrá de un breve plazo para decidir si acepta o no los nuevos precios. Si no se adopta una decisión, la solicitud se rechazará automáticamente y se cerrará la ventana de recotización.
  14. Corregida la visualización de la hora en la sección "Gráfico" al utilizar la interfaz de tema oscuro.
16 diciembre 2022
MetaTrader 5 build 3550: mejoras y correcciones

Terminal

  1. Terminal: Actualizadas las traducciones de la interfaz de usuario.
  2. Correcciones de crash logs.

Web Terminal

9 diciembre 2022
MetaTrader 5 build 3540: Autenticación 2FA/TOTP y Observación de Mercado mejorada en el terminal web

WebTerminal

  1. Añadido soporte para la autenticación 2FA/TOTP usando Google Authenticator y aplicaciones similares.

    El uso de la autenticación de dos factores le permitirá proteger aún más su cuenta comercial contra el acceso no autorizado, incluso si su nombre de usuario y su contraseña permanente se filtran. Existen muchas aplicaciones móviles que permiten la autenticación en dos pasos utilizando el algoritmo Time-based One-time Password Algorithm (TOTP). Entre los más populares, están Google Authenticator, Microsoft Authenticator, LastPass Authenticator y Authy. En el terminal de cliente de MetaTrader 5, ahora es posible autenticarse usando contraseñas de un solo uso obtenidas de dichas aplicaciones Authenticator.

    Para habilitar la autenticación en dos pasos, primero deberá iniciar sesión en el terminal de cliente de MetaTrader 5 de la forma habitual. Luego clique en su cuenta en el menú y seleccione "Habilitar 2FA/TOTP" en la ventana de diálogo que se abrirá. Inicie el Authenticator en su teléfono móvil, pulse el botón "+" en él para añadir su cuenta comercial y escanee el código QR del terminal. Introduzca el código obtenido en el campo "One-time password" y clique en "Enable 2FA": el secreto de su cuenta se añadirá al servidor comercial del bróker.


    Añadido el soporte para la autenticación 2FA/TOTP usando Google Authenticator y aplicaciones similares


    El secreto guardado se usará ahora en la aplicación Authenticator para generar una contraseña OTP para cada conexión posterior. Cada contraseña será válida durante 30 segundos, luego se generará una nueva.


    Para conectarse a su cuenta comercial, ahora necesitará una contraseña OTP adicional de la aplicación Authenticator


    En la ventana de diálogo, junto con el código QR de vinculación al generador, también se mostrará un código de respaldo: guárdelo en un lugar seguro. Si pierde la posibilidad de acceder a su dispositivo vinculado, el código le permitirá añadir nuevamente su cuenta a la aplicación Authenticator.

    Si decide eliminar de la aplicación Authenticator el secreto almacenado, primero desactive el uso de la autenticación 2FA/TOTP utilizando el comando del menú contextual de la cuenta correspondiente. Si la autenticación 2FA/TOTP no está disponible en su cuenta, pida a su bróker que la active.

  2. Ampliada la cantidad de información mostrada en Market Watch. Ahora, además de los precios Bid/Ask actuales y el porcentaje de cambio del precio, podrá ver:

    • El precio Bid/Ask máximo y mínimo para la sesión comercial actual
    • Los precios de apertura de la sesión comercial actual y los precios de cierre de la sesión comercial anterior

    Para configurar la información mostrada, utilice el menú contextual:


    Información adicional en la Observación de Mercado


  3. Añadida la visualización de la notificación sobre riesgos cuando la configuración correspondiente está habilitada en el lado del bróker. Algunos reguladores requieren que el tráder lea y acepte el aviso antes de comenzar a comerciar.
  4. Corregida la visualización de la barra de herramientas superior en los modelos de iPhone con una muesca en la parte superior de la pantalla. En algunos casos, esta podía cubrir los botones del panel.
  5. Corregida la visualización de los indicadores financieros finales de la cuenta (beneficio, equidad, etc.) en el navegador Google Chrome. En algunos casos, los valores podían no actualizarse.

Terminal

  1. Optimizada y acelerada significativamente la apertura de la ventana de diálogo para crear cuentas demo.
  2. Actualizadas las traducciones de la interfaz de usuario.
  3. Correcciones de crash logs.

MQL5

  1. En la clase COpenCL de la Biblioteca Estándar se han añadido nuevos métodos:

    • BufferFromMatrix — rellenar el búfer del dispositivo con los datos de la matriz
    • BufferToMatrix — leer los datos del búfer del dispositivo en una matriz
    • ContextCreate — crear un contexto de dispositivo (primera parte del método Initialize)
    • ProgramCreate — crear un programa basado en el código fuente de OpenCL (segunda parte del método Initialize)
    • ContextClean — liberar todos los datos pertenecientes al contexto del dispositivo (similar al método Shutdown, pero sin eliminar el contexto)
    • GetDeviceInfoInteger — obtener una propiedad entera del dispositivo
    • GetKernelInfoInteger — obtener una propiedad entera del kernel
    • GetDeviceInfo — obtener cualquier propiedad entera única del dispositivo que no se encuentre en la enumeración ENUM_OPENCL_PROPERTY_INTEGER

    Ejemplo de uso de GetDeviceInfo:
    long preferred_workgroup_size_multiple=OpenCL.GetDeviceInfo(0x1067);
  2. Añadidos los valores TERMINAL_CPU_NAME y TERMINAL_OS_VERSION a la enumeración ENUM_TERMINAL_INFO_STRING. Estos valores permiten obtener el nombre del procesador y el sistema operativo del usuario.
    void OnStart()
      {
       string cpu,os;
    //---
       cpu=TerminalInfoString(TERMINAL_CPU_NAME);
       os=TerminalInfoString(TERMINAL_OS_VERSION);
       PrintFormat("CPU: %s, OS: %s",cpu,os);
      }
    
    Resultado:
    UPC: Intel Xeon  E5-2630 v4 @ 2.20GHz, OS: Windows 10 build 19045
  3. Corregido el parámetro "table_or_sql" en las funciones DatabasePrint y DatabaseExport. Ahora podrá transmitir el nombre del recuadro en él, no solo una solicitud SQL.
MetaEditor
  1. Corregida la verificación del número máximo de columnas a mostrar en la base de datos. Ahora se podrán mostrar hasta 64 columnas.
  2. Corregido el funcionamiento de los puntos de interrupción en las construcciones cortas del tipo IF[ if(cond) break; ].
25 noviembre 2022
MetaTrader 5 build 3520: añadida la autenticación 2FA/TOTP con Google Authenticator

Terminal

  1. Añadido soporte para la autenticación 2FA/TOTP usando Google Authenticator y aplicaciones similares.

    El uso de la autenticación de dos factores le permitirá proteger aún más su cuenta comercial contra el acceso no autorizado, incluso si su nombre de usuario y su contraseña permanente se filtran. Existen muchas aplicaciones móviles que permiten la autenticación en dos pasos utilizando el algoritmo Time-based One-time Password Algorithm (TOTP). Entre los más populares, están Google Authenticator, Microsoft Authenticator, LastPass Authenticator y Authy. En el terminal de cliente de MetaTrader 5, ahora es posible autenticarse usando contraseñas de un solo uso obtenidas de dichas aplicaciones Authenticator.

    Para activar la autenticación en dos pasos, primero deberá iniciar sesión en el terminal de cliente de MetaTrader 5 de la forma habitual. A continuación, clique con el botón derecho del ratón en la cuenta comercial para que aparezca el menú y seleccione "Permitir 2FA/TOTP". Inicie el Authenticator en su teléfono móvil, pulse el botón "+" en él para añadir su cuenta comercial y escanee el código QR del terminal. Introduzca el código obtenido en el campo "One-time password" y clique en "Enable 2FA": el secreto de su cuenta se añadirá al servidor comercial del bróker.


    Añadido el soporte para la autenticación 2FA/TOTP usando Google Authenticator y aplicaciones similares.

    El secreto guardado se usará ahora en la aplicación Authenticator para generar una contraseña OTP para cada conexión posterior. Cada contraseña será válida durante 30 segundos, luego se generará una nueva.



    Para conectarse a su cuenta comercial, ahora necesitará una contraseña OTP adicional de la aplicación Authenticator

    Si decide eliminar el secreto almacenado de la aplicación Authenticator, primero desactive el uso de la autenticación 2FA/TOTP usando el comando del menú contextual de la cuenta correspondiente. Si la autenticación 2FA/TOTP no está disponible en su cuenta, pida a su bróker que active dicha opción.

MQL5

  1. Corregida la función CopyTicks para los instrumentos comerciales de usuario. En algunos casos, al trabajar con símbolos personalizados, se retornaban los ticks iniciales de la sesión comercial anterior en lugar de los datos solicitados.

  2. Añadidos nuevos valores a la enumeración para obtener información sobre el último error de OpenCL, lo cual permite obtener el código de error y la descripción de texto.
    1. Añadida a la enumeración ENUM_OPENCL_PROPERTY_INTEGER el valor CL_LAST_ERROR (código 4094) 

      Para obtener el último error de OpenCL a través de CLGetInfoInteger, el parámetro handle será ignorado, es decir, no tendrá ningún significado. Descripción del error: https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#CL_SUCCESS
      Al darse un código de error desconocido, se retornará la línea "unknown OpenCL error N", donde, en lugar de N, se dará el código de error.

      Ejemplo:
      //--- el primer parámetro handle se ignora al obtener el código del últimoo error
      int code = (int)CLGetInfoInteger(0,CL_LAST_ERROR);

    2. Añadida a la enumeración ENUM_OPENCL_PROPERTY_STRING el valor CL_ERROR_DESCRIPTION (4093).
      Podemos obtener una descripción de texto del error de OpenCL usando CLGetInfoString. Descripción del error: https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#CL_SUCCESS

      Al usar CL_ERROR_DESCRIPTION como parámetro handle, el código de error deberá transmitirse a CLGetInfoString . Si transmitimos CL_LAST_ERROR en lugar del código de error, la función retornará una descripción del último error.

      Ejemplo:
      //--- obtener código del último error de OpenCL
      int    code = (int)CLGetInfoInteger(0,CL_LAST_ERROR);
      string desc; // para obtener la descripción de texto del error
      
      //--- utilizamos el código de error para obtener la descripción de texto del error
      if(!CLGetInfoString(code,CL_ERROR_DESCRIPTION,desc))
         desc = "cannot get OpenCL error description, " + (string)GetLastError();
      Print(desc);
      
      
      //--- para obtener la descripción del último error de OpenCL sin obtención previa del código, deberemos transmitir CL_LAST_ERROR  
      if(!CLGetInfoString(CL_LAST_ERROR,CL_ERROR_DESCRIPTION, desc))
         desc = "cannot get OpenCL error description, " + (string)GetLastError();
      Print(desc);
      Por ahora, como descripción del error, se ofrece el nombre de la enumeración interna cuyo desciframiento puede verse en la página https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#CL_SUCCESS. Por ejemplo, si obtenemos CL_INVALID_KERNEL_ARGS, la descripción para ello será "Returned when enqueuing a kernel when some kernel arguments have not been set or are invalid".

  3. Corregido el método matrix::MatMul. Al trabajar con matrices grandes, el terminal se bloqueaba con algunos tamaños.

Correcciones de crash logs.
18 noviembre 2022
MetaTrader 5 build 3510: mejoras del terminal web

MetaTrader 5 WebTerminal

  1. En la versión móvil, hemos añadido a la sección de la historia de transacciones la clasificación de estas y el filtrado según la profundidad. Para configurar la visualización de la historia, utilice los comandos del panel superior:


    La versión móvil tiene ahora un ajuste de visualización para la historia de transacciones


    Las transacciones pueden clasificarse según parámetros básicos: fecha, ticket, símbolo, volumen, etc.

  2. Mejorado el acceso a la información de sus cuentas comerciales.

    • En la versión de escritorio, ahora podrá clicar en los datos de la cuenta actual en el menú hamburguesa. Al clicar en una cuenta, se accederá a la visualización de sus detalles.
    • En la versión móvil, se ha añadido la visualización de la cuenta corriente en «Settings». Al clicar en una cuenta, se accederá a la visualización de sus detalles.


    Mejorado el acceso a los datos de la cuenta comercial

  3. Corregida la visualización del tipo de cuenta en la ventana de gestión de cuentas.
  4. Corregida la visualización de la equidad y el margen libre después de actualizar la página del terminal web en los navegadores móviles.
  5. Corregida la visualización de la barra inferior en el navegador móvil Firefox.

Terminal

  1. Corregido un error en el cálculo de los gráficos de balance y equidad en el informe comercial.

MQL5

  1. El comportamiento de typename(expr) ha sido modificado. La función ahora proporciona el tipo completo con los modificadores y dimensiones (para arrays):
    class A
      {
      };
    
    void OnStart(void)
      {
       const A *const arr[][2][3]={};
       Print(typename(arr));
      }
    
    Resultado:
    "clase A const * const [][2][3]"

Correcciones de crash logs.
11 noviembre 2022
MetaTrader 5 build 3500: mejoras y correcciones

Terminal

  1. Añadido un comando para acceder al nuevo informe comercial en el menú contextual de las secciones "Trading" e "Historia":


    El informe comercial incluye:
    • Valores de crecimiento mensual en forma de gráfico y recuadro
    • Un gráfico del cambio de equidad
    • Un esquema de pétalos que le permitirá evaluar rápidamente el estado de la cuenta
    • Estadísticas de las transacciones por instrumentos
    • Multitud de indicadores adicionales para el análisis comercial

  2. Corregido el cálculo del depósito inicial en el informe comercial.
  3. Corregida la configuración de los niveles de "Stop Loss" y "Take Profit" al usar paneles de comercio rápido en el gráfico y en la "Observación de mercado". Los niveles podían heredarse erróneamente de posiciones abiertas con anterioridad, incluso si no fuera necesario (la funcionalidad está destinada a cuentas FIFO).
  4. Actualizadas las traducciones de la interfaz de usuario.

MQL5

  1. Solucionado un error del compilador que permitía acceder a un campo de estructura usando una cadena constante cuyo valor es el nombre del campo.
  2. Corregida la verificación del estado de la clave con la ayuda de TerminalInfoInteger(TERMINAL_KEYSTATE_*).

Correcciones de crash logs.

MetaTrader 5 WebTerminal build 3500

  1. Corregido el cierre de posiciones al recibir una recotización.
  2. Corregida la reconexión al servidor después de expandir una ventana del navegador que había estado inactiva durante mucho tiempo.
  3. Corregida la visualización de fondos de crédito en la cuenta.
  4. Multitud de mejoras y correcciones.
previa123456789101112131415