¿Qué novedades tiene MetaTrader 5?

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

27 mayo 2022
MetaTrader 5 build 3320: Mejoras y correcciones

Terminal

  1. Ampliadas las pistas sobre los objetos comerciales mostrados en los gráficos.
    • Para las transacciones de salida del mercado se ha añadido la muestra del beneficio.
    • Para las transacciones realizadas como resultado de la activación de un Take Profit o un Stop Loss, se ha añadido la indicación correspondiente: TP/SL.

    Asimismo, se han añadido pistas similares a las líneas que conectan las transacciones de entrada y salida.

    Información extendida sobre herramientas para los objetos comerciales


  2. Acelerado el funcionamiento del sistema gráfico.
  3. Añadido el registro de operaciones grupales en las órdenes y posiciones abiertas. Al ejecutarse un comando de este tipo, se registrará un mensaje del tipo "bulk closing of XXX positions started".
  4. Corregido el cierre grupal de las posiciones opuestas.
  5. Corregida la actualización de los objetos que muestran la historia de transacciones en el gráfico. El error se producía al cambiar el instrumento comercial en el gráfico.

MQL5

  1. Continúa el trabajo relacionado con las funciones para las matrices y vectores: se ha añadido el soporte para float y complex.
  2. El operador "!" (LNOT) para un puntero comprueba ahora su validez usando una llamada implícita a la función CheckPointer Para comprobar rápidamente la existencia de NULL, use el operador "==". Por ejemplo: ptr==NULL o ptr!=NULL.

MetaTester

  1. Corregida la representación de objetos comerciales en el gráfico de prueba.
  2. Acelerado el funcionamiento del sistema gráfico.

MetaEditor

  • Actualizadas las traducciones de la interfaz.

Correcciones de crash logs.

20 mayo 2022
MetaTrader 5 build 3300: Compilación rápida y mejor navegación por el código de MetaEditor

Terminal

  1. Se agregó la capacidad de cambiar el tamaño del objeto gráfico "Rectángulo" arrastrando cualquiera de las cuatro esquinas.


  2. Se aceleró la representación generada por GUI.
  3. Se mejoró la compatibilidad con direcciones IPv6.
  4. Se corrigió el cálculo de la altura del campo de fecha y el ancho del campo de precio, durante la primera inicialización de la plataforma.

MQL5

  1. Se agregó la función para manejar matrices y vectores — RegressionMetric. Especifica el cálculo para evaluar la regresión.
     double vector.RegressionError(const enum lr_error);
     double matrix.RegressionError(const enum lr_error);
     vector matrix.RegressionError(const enum lr_error,const int axis);
    Los cálculos que se pueden utilizar son:
    enum REGRESSION_ERROR
      {
       REGRESSION_MAE,     // Error medio absoluto
       REGRESSION_MSE,     // Error medio cuadrático
       REGRESSION_RMSE,    // Raíz del error medio cuadrático
       REGRESSION_R2,      // R al cuadrado
       REGRESSION_MAPE,    // Error medio absoluto en porcentaje
       REGRESSION_MSPE,    // Error medio cuadrático en porcentaje
       REGRESSION_RMSLE    // Error medio logarítmico cuadrático
      };
  2. Se agregó la función para escribir matrices con un tamaño de datos superior a INT_MAX (matrices de estructuras).

MetaEditor

  1. Se ha rediseñado el panel de pestañas:
    • El panel no está oculto incluso si solo hay una ventana abierta. Por lo tanto, los comandos del menú contextual de la pestaña siempre están disponibles.
    • Se ha agregado un botón "X" a cada pestaña, este sirve para cerrar la misma. Además, las pestañas se pueden cerrar con el botón central del mouse o mediante el menú contextual.


  2. Se ha agregado el comando para la compilación rápida de programas. No se realiza optimización de código en este modo, lo que reduce significativamente el tiempo necesario para crear un archivo EX5 ejecutable. Utilice este modo cuando se encuentre en una etapa activa de desarrollo y necesite verificar rápidamente el código escrito. Al compilar el programa, cambie al modo de máxima optimización para obtener el mejor rendimiento.


    El parámetro "Máxima optimización" en la configuración del proyecto realiza la misma función.
    Todas las operaciones relacionadas con la compilación se han colocado en el menú "Compilación".

  3. Se ha mejorado la gestión de código:
    • Se separaron los comandos para acceder a la declaración y la implementación. Anteriormente, se usaba un comando que mostraba un menú de selección. Ahora se puede saltar inmediatamente a la parte necesaria del código.
    • Se agregó el reemplazo de la palabra clave asignada presionando "Tab" además de "Enter".




  4. Se ha agregado visualización automática de variables locales en la lista de observación del depurador. Para ello, active la opción "Locales" en el menú contextual. Durante la depuración, mientras navega por el código, las variables del ámbito actual aparecerán automáticamente en la lista.


  5. Se ha mejorado el funcionamiento de la lista de observación para vectores y matriz en el depurador.
  6. Se han corregido las rutas a archivos de proyecto. El error podía provocar la desaparición de archivos.

Tester

  1. Se ha mejorado la desconexión de los agentes de prueba al apagar la plataforma.
  2. Se agregó un quinto nodo a la MQL5 Cloud Network. Este se encuentra en Hong Kong. Esto acelerará la optimización de los robots que utilizan la red en las regiones más cercanas.

Correcciones de crash-logs.


29 abril 2022
MetaTrader 5 build 3280: Mejoras y correcciones según los comentarios de los tráders

Terminal

  1. Corregido el rellenado de los niveles estándar de Trailing Stop en el menú contextual de órdenes y posiciones abiertas.



  2. Actualizadas las traducciones de la interfaz de usuario.

Correcciones de crash logs.
21 abril 2022
MetaTrader 5 build 3270: Mejoras y correcciones

Terminal

  1. Mejorado el chat incorporado:
    • Diseño actualizado: ahora los mensajes se muestran sin burbujas circundantes, despejando las ventanas de diálogo de detalles innecesarios. Añadidos avatares y separadores de fechas.
    • Asimismo, hemos añadido al menú de mensajes los comandos de copiado y borrado.
    • Corrección de errores y mejora de la estabilidad.



  2. Corregido el funcionamiento del comando para el cierre masivo de posiciones. Un error surgía en las cuentas con sistema de cobertura de registro de posiciones.
  3. Corregido el registro de algunos tipos de transacciones al formarse la historia de posiciones.

Correcciones de crash logs.
15 abril 2022
MetaTrader 5 build 3260: Operaciones masivas, funciones de matrices y vectores y mejoras en el chat

Terminal

  1. Añadidos los comandos necesarios para el cierre de posiciones y la eliminación de órdenes pendientes de forma masiva.

    En el menú contextual de la sección de comercio ha aparecido un nuevo apartado: "Operaciones masivas". La lista de comandos disponibles se forma en él de forma inteligente, dependiendo de la operación seleccionada y el tipo de cuenta del usuario.




    En el menú siempre están disponibles los comandos:
    • Cierre de todas las posiciones. Para las cuentas de cobertura, el sistema primero intenta cerrar las posiciones con posiciones opuestas; las posiciones restantes se cierran según el procedimiento habitual.
    • Cierre de todas las posiciones rentables y perdedoras
    • Eliminación de todas las órdenes pendientes
    • Eliminación de todas las órdenes pendientes por tipos: Límite, Stop, Stop Limit

    Si seleccionamos una posición, aparecerán comandos adicionales en el menú:
    • Cierre de todas las posiciones del mismo símbolo
    • Cierre de todas las posiciones en la misma dirección (para cuentas de cobertura)
    • Cierre de posiciones opuestas del mismo símbolo (para cuentas de cobertura)
    • Viraje de posición (para cuentas de compensación)

    Si seleccionamos una orden pendiente, aparecerán comandos adicionales en el menú:
    • Eliminación de todas las órdenes pendientes para el mismo símbolo
    • Eliminación de todas las órdenes pendientes del mismo tipo para el mismo símbolo

    Para que estos comandos funcionen, el usuario deberá habilitar el comercio con un solo clic en la configuración de la plataforma: Servicio \ Ajustes \ Comercio.
  2. Ampliadas las funciones del chat incorporadas:
    • Añadida la capacidad de responder a un mensaje. El texto del mensaje original se incluirá como una cita en la respuesta.
    • Añadida la capacidad de crear mensajes con diferentes tipos de contenido: imágenes con texto, texto con archivos adjuntos, etc.
    • Corregida la representación del separador de mensajes leídos y no leídos.
    • Asimismo, se han corregido diferentes errores y se ha aumentado la estabilidad del funcionamiento.



  3. Optimizado y sustancialmente acelerado el funcionamiento del sistema gráfico del terminal. Ahora se gastarán menos recursos en mostrar la interfaz.
  4. Corregido el cálculo del cambio de precio diario para los futuros. Si el bróker transmite el precio de clearing, el cálculo se realizará a partir de él.
    ((Last - Precio de clearing)/Precio de clearing)*100
    Podrá encontrar una descripción completa del cálculo para todos los tipos de instrumentos en la documentación.

  5. Corregidos los errores sucedidos al comprar servicios MQL5:
    • En algunos casos, los sistemas de pago podían mostrar mensajes de error incorrectos para transacciones exitosas.
    • En etapas intermedias del alquiler de un producto en el Mercado, podía mostrarse un precio incorrecto en la página.

  6. Corregido el funcionamiento del botón "Iniciar" en la página del producto comprado/descargado en el Mercado. Ahora inicia correctamente la aplicación en el primero de los gráficos abiertos.
  7. Corregido el registro de algunos tipos de transacciones al formarse la historia de posiciones.

MQL5

  1. Añadidas nuevas funciones para trabajar con matrices y vectores:

    • Median — retorna la mediana de los elementos de una matriz o vector
    • Quantile — retorna el q-ésimo cuantil de los elementos de matriz/vector o los elementos a lo largo del eje de matriz indicado
    • Percentile — retorna el q-ésimo percentil de los elementos de matriz/vector o los elementos a lo largo del eje de matriz indicado
    • Std — calcula la desviación estándar de los elementos de una matriz o vector
    • Var — calcula la varianza de los elementos de una matriz o vector
    • CorrCoef — calcula el coeficiente de correlación de una matriz o vector
    • Correlate — calcula la correlación cruzada de dos vectores
    • Convolve — retorna la convolución lineal discreta de dos vectores
    • Cov — calcula la matriz de covarianza

  2. Hemos comenzado a añadir métodos incorporados para arrays numéricos. Esto hará que el código sea más fácil de escribir, más compacto y mejorará la compatibilidad con otros lenguajes.

    Actualmente, hay tres métodos disponibles:

    • ArgSort: ordena el array según la dimensión indicada, por defecto, según la última (axis=-1).
    • Rango — retorna el número de elementos en la dimensión de array especificada. Análogo de ArrayRange.
    • Size — retorna el número de elementos un array. Análogo de ArraySize.

    Ejemplo:
    void OnStart()
      {
       int arr[4][5]=
         {
            {22, 34, 11, 20,  1},
            {10, 36,  2, 12,  5},
            {33, 37, 25, 13,  4},
            {14,  9, 26, 21, 59}
         };
       ulong indexes[4][5];
    //--- Sort the array
       arr.ArgSort(indexes,-1,0);
       Print("indexes");  
       ArrayPrint(indexes);
      }
    
    // Result log:
    // indexes
    //     [,0][,1][,2][,3][,4]
    // [0,]   4   2   3   0   1
    // [1,]   2   4   0   3   1
    // [2,]   4   3   2   0   1
    // [3,]   1   0   3   2   4

  3. Hemos comenzado a añadir métodos incorporados para cadenas.
    En estos momentos, están disponibles los siguientes métodos:
    • BufferSize — retorna el tamaño de un búfer distribuido para una cadena.
    • Compare — compara entre sí dos cadenas y retorna el resultado de la comparación como número entero.
    • Length — retorna el número de caracteres en una cadena.
    • Find — busca una subcadena en la cadena.
    • Upper — pasa una cadena a mayúsculas.
    • Lower — pasa una cadena a minúsculas.
    • Replace — realiza la sustitución de una subcadena.
    • Reserve — reserva un búfer para una subcadena.

    Todos los métodos funcionan de forma similar a las funciones string.

      Ejemplo:
      void OnStart()
        {
         string test="some string";
         PrintFormat("String length is %d",test.Length());
        }
      
      // Result log:
      // String length is 11
    • Añadido el valor SYMBOL_SUBSCRIPTION_DELAY a la enumeración ENUM_SYMBOL_INFO_INTEGER: la magnitud del retardo en las cotizaciones transmitidas de un símbolo.

      Se usa solo para instrumentos que funcionan por suscripción, generalmente cuando se transmiten datos en el modo de prueba gratuito.

      La propiedad solo se puede solicitar para los símbolos seleccionados en la Observación de Mercado. De lo contrario, obtendremos el error ERR_MARKET_NOT_SELECTED (4302).

    • Añadida la propiedad ACCOUNT_HEDGE_ALLOWED a la enumeración ENUM_ACCOUNT_INFO_INTEGER: el permiso para abrir posiciones opuestas y órdenes pendientes. Se usa solo para las cuentas de cobertura, permitiendo así implementar los requisitos de algunos reguladores, cuando está prohibido tener posiciones opuestas en la cuenta, pero sí se permite tener varias posiciones de un símbolo en una dirección.

      Si esta opción está deshabilitada, estará prohibido tener posiciones y órdenes multidireccionales en las cuentas para el mismo instrumento al mismo tiempo. Por ejemplo, si en la cuenta tenemos una posición Buy, el usuario no podrá abrir una posición Sell o colocar una orden pendiente de venta. Si el usuario intenta hacer esto, ocurrirá el error TRADE_RETCODE_HEDGE_PROHIBITED.

    • Añadidas nuevas propiedades a la enumeración ENUM_SYMBOL_INFO_DOUBLE:
      • SYMBOL_SWAP_SUNDAY
      • SYMBOL_SWAP_MONDAY
      • SYMBOL_SWAP_TUESDAY
      • SYMBOL_SWAP_WEDNESDAY
      • SYMBOL_SWAP_THURSDAY
      • SYMBOL_SWAP_FRIDAY
      • SYMBOL_SWAP_SATURDAY

      Esta propiedades permitirán obtener la tasa de cálculo de swaps para cada día de la semana. 1 — swap único, 3 — triple, 0 — sin swap.

    • Corregido el funcionamiento de las funciones CopyTicks y CopyTicksRange. Un error podía provocar el retorno de datos obsoletos al pasar la medianoche. El error ocurría cuando no se proporcionaban ticks para el instrumento financiero.
    • Correcciones de crash logs.
    11 febrero 2022
    MetaTrader 5 build 3210: modificado el algoritmo de cálculo del Ratio de Sharpe e añadidos nuevos métodos de matriz

    MQL5

    1. Añadidas las funciones Min, Max, ArgMin, ArgMax y Sum para vectores y matrices, que permiten encontrar los valores mínimos y máximos, los índices adecuados y la suma.
    2. Añadido el soporte de métodos Flat para matrices. Esto permite dirigir un elemento de la matriz a través de un índice, en lugar de dos.
      double matrix::Flat(ulong index) const;      // getter
      void matrix::Flat(ulong index,double value); // setter

      Pseudocódigo para calcular la dirección de un elemento de la matriz:

      ulong row=index / mat.Cols();
      ulong col=index % mat.Cols();
      
      mat[row,col]

      Por ejemplo, para una matriz mat(3,3), el acceso a los elementos puede escribirse como sigue

        en lectura —  x=mat.Flat(4), lo que equivale a escribir x=mat[1][1]
        en escritura —  mat.Flat(5, 42), lo que equivale a escribir mat[1][2]=42

      Si se llama a una función con un índice de matriz incorrecto, se generará el error crítico de ejecución OutOfRange.

    3. Mejorado el formato de los números fraccionarios en los parámetros de entrada de programas MQL5. Al leer algunos números reales en los parámetros de entrada, se sustituían los números con más ceros, por ejemplo 0,4 se representaba como 0,400000000002.
    4. Corregidos los errores en la biblioteca matemática Math\Stat\Math.mqh. Además, la función MathSample de esta biblioteca ha sido modificada para cumplir con el comportamiento clásico de las mismas bibliotecas matemáticas al realizar el muestreo con retorno.
    5. Corregido el error en el funcionamiento de CopyTicks/CopyTicksRange que provocaba que se dieran datos obsoletos a medianoche para aquellos casos en los que no se recibían ticks para un símbolo.
    6. Añadidos los nuevos valores INDICATOR_FIXED_MINIMUM e INDICATOR_FIXED_MAXIMUM en ENUM_CUSTOMIND_PROPERTY_INTEGER.
      Estas propiedades se pueden usar para activar/desactivar la fijación de los valores mínimos y máximos del indicador mediante la función IndicatorSetInteger. Al llamar a IndicatorSetInteger(INDICATOR_FIXED_MINIMUM/INDICATOR_FIXED_MAXIMUM, true) se utiliza el valor mínimo/máximo actual, respectivamente.



    Tester

    1. Modificado el algoritmo de cálculo del Ratio de Sharpe, ahora se calcula de forma clásica y su valor se convierte al intervalo anual. El algoritmo anterior se basaba en la dispersión de pérdidas y ganancias (PnL), pero no tenía en cuenta las fluctuaciones de la equidad en las posiciones abiertas. Ahora se consideran las subidas y bajadas de la equidad, y el propio valor del Ratio de Sharpe se trata de forma clásica:
      • Sharpe Ratio < 0                 La estrategia no es rentable, no sirve.  Mal.
      • 0 < Sharpe Ratio  < 1.0       El riesgo no se amortiza. Estas estrategias pueden practicarse si no hay alternativas.  Incierto.
      • Ratio de Sharpe ≥ 1,0        Si el Ratio de Sharpe es superior a uno, significa que el riesgo compensa, el portafolio/estrategia funciona. Bien.
      • Ratio de Sharpe ≥ 3,0        Un indicador alto sugiere que la probabilidad de sufrir pérdidas en una operación determinada es muy baja. Muy bien.

    Terminal

    1. Optimizado el consumo de memoria del terminal.
    2. Mejorado el funcionamiento del subsistema de red para aumentar el rendimiento y reducir la latencia de red.
    3. Eliminada la visualización del nivel cero de la retícula en un indicador cuando el dibujado de esta se encuentra desactivado.


    28 enero 2022
    MetaTrader 5 build 3180: Vectores y matrices en MQL5 y mayor comodidad de trabajo

    Terminal

    1. Añadida la activación de la ventana del gráfico al transferir un símbolo desde la "Observación de mercado" o una transacción comercial desde la historia de la cuenta.

      Ambas acciones cambian el símbolo del gráfico al elegido. Antes, no activaban la ventana del gráfico. En consecuencia, algunas acciones adicionales, como llamar la ventana de diálogo comercial (F9) o cambiar la escala (+/-) usando las teclas de acceso rápido, podrían aplicarse inesperadamente a otro gráfico para el usuario. Ahora el gráfico cuyo símbolo ha cambiado el usuario arrastrándolo, se elige inmediatamente para seguir trabajando.

    2. Añadida la apertura de una nueva ventana de orden al clicar dos veces en una transacción comercial en la historia de la cuenta. Al mismo tiempo, el instrumento financiero de la transacción sobre la que se ha clicado es sustituido inmediatamente en la ventana de diálogo, lo cual permite operar más rápido. Se ha añadido un comando similar al menú contextual.




    3. Añadida la inclusión inteligente de volúmenes reales o de ticks al abrir nuevos gráficos. Estos datos son importantes a la hora de analizar el mercado, pero no todos los tráders conocen su disponibilidad en la plataforma.

      Se da prioridad a los volúmenes comerciales reales. Si son ofrecidos por un bróker, su visualización estará habilitada en el gráfico. De lo contrario, se activará la visualización de los volúmenes de ticks.

      El mecanismo se utiliza solo si el gráfico se abre con la plantilla por defecto default.tpl. Si el usuario activa manualmente la visualización de volúmenes en los ajustes del gráfico, no se volverán a habilitar cuando se vuelva a abrir. Las plantillas personalizadas no se verán afectadas.

    4. Optimizada y sustancialmente acelerada la visualización de la interfaz de usuario.
    5. Mejorada la función de impresión de gráficos llamada a través del menú "Archivo":
      • Corregido el guardado de los ajustes de impresión.
      • Mejorada la apariencia de la página impresa: líneas de cuadrícula aumentadas, nombre de programa oculto, fuente de título actualizada
      • Aumentada la ventana de diálogo de impresión para mostrar la interfaz correctamente

    6. Mejorado el funcionamiento del campo de volumen en el panel de comercio rápido en el gráfico. Antes, después de introducir un nuevo valor y presionar la tecla Tab, el valor se restablecía al anterior.
    7. Corregida la visualización fija de la historia comercial en el gráfico. Anteriormente, al cambiar de cuenta, las transacciones de la cuenta anterior no se eliminaban de los gráficos.
    8. Corregido el pago de los servicios de MQL5.com usando PayPal.
    9. Corregido el bloqueo de la plataforma al mostrar el gráfico de volatilidad de opciones.
    10. Corregida la comprobación del número de teléfono fijo en la ventana de registro de una cuenta real. En algunos casos, después de introducir el número correcto, la plataforma no permitía pasar a la siguiente etapa del registro.
    11. Corregida la verificación de los derechos al unirse a un chat grupal con miembros de la comunidad MQL5.com. Antes, un usuario recién conectado solo podía leer pero no escribir mensajes.
    12. Reemplazada la inscripción en el gráfico cuando faltan datos. Ahora, en lugar de "Waiting for update", se muestran el nombre del instrumento, el marco temporal y la descripción del instrumento.
    13. Mejorado el soporte de precios negativos añadido en el build 2450. Para los instrumentos correspondientes, en la "Observación de Mercado" ahora también pueden representarse valores cero.
    14. Corregida la visualización fija de los logotipos de los productos en el Mercado al trabajar en Wine.

    MQL5

    1. Continúa el trabajo para añadir el soporte de vectores y matrices. Las nuevas funciones amplían significativamente las posibilidades de los desarrolladores de soluciones basadas en redes neuronales.

      Por el momento, muchas funciones ya están listas:
      • Eye — crea una matriz con unos a lo largo de la diagonal indicada y ceros en cualquier otro lugar.
      • Identity — crea una matriz del tamaño indicado con unos en la diagonal principal y ceros en el resto.
      • Ones — crea una matriz del tamaño indicado, llena de unos.
      • Zeroes — crea una matriz del tamaño indicado, llena de ceros.
      • Full — crea una matriz del tamaño indicado, llena con los valores especificados.
      • Copy — crea una copia de una matriz o un vector.
      • Diag — extrae la diagonal de la matriz y también llena la diagonal indicada con los valores del vector.
      • Tri — crea una matriz con unos sobre la diagonal indicada y debajo de la misma, y ceros en cualquier otro lugar.
      • Row — retorna la fila de la matriz como un vector y también llena la fila indicada con los valores del vector.
      • Col — retorna una columna de matriz en forma de vector y también completa la columna indicada con los valores del vector.
      • Rows — retorna el número de filas en una matriz.
      • Cols — retorna el número de columnas en la matriz.
      • Transpose — transpone una matriz.
      • * — producto de matrices, vectores y escalares — producto escalar.
      • Power — eleva una matriz a una potencia.
      • Kron — producto de Kronecker.
      • Cholesky — descomposición de Cholesky.
      • QR — descomposición QR de la matriz.
      • SVD — descomposición en valores singulares.
      • LU — descomposición LU de la matriz.
      • LUP — descomposición LUP de una matriz.
      • Norm — calcula la norma matricial.
      • Cond — calcula el número de condición de la matriz.
      • Spectrum — calcula el espectro de la matriz.
      • Det — calcula el determinante de la matriz.
      • Rank — calcula el rango de la matriz.
      • SLogDet — obtiene el signo y el logaritmo natural del determinante de la matriz.
      • Trace — calcula la traza de una matriz.
      • Solve — resuelve un sistema de ecuaciones lineales.
      • LstSq — resuelve un sistema de ecuaciones lineales usando el método de mínimos cuadrados.
      • Inv — calcula una matriz inversa.
      • PInv — calcula una matriz pseudo-inversa por el método de Moore-Penrose.
      • Compare — compara dos matrices usando épsilon.

      Hay información más detallada disponible en la documentación de MQL5.

    2. Corregidos los errores al trabajar con archivos y bases de datos relacionados con la limitación en la longitud de la ruta. En particular, la función DatabaseOpen permitía establecer una ruta más grande de lo permitido, lo cual provocaba la creación de una base de datos incorrecta. Ahora la función retornará correctamente el código de error ERR_TOO_LONG_FILE_NAME.
    3. Corregido el control de la constancia de variables. En algunos casos, el compilador podía no mostrar el error "constant variable cannot be passed as reference".
    4. Corregidas las advertencias erróneas del compilador sobre el uso de una variable no inicializada.
    5. Corregida la función ChartWindowOnDropped para indicadores. Antes, siempre retornaba un valor cero.
    6. Añadido el soporte de Python 3.10 al módulo de integración con Python.

    VPS

    1. Corregida la representación del punto VPS en el Navegador. En algunos casos, podía desaparecer al cambiar de cuenta.

    MetaEditor

    1. Corregido el despliegue de expresiones complejas en la ventana de visualización durante la depuración.

    Tester

    1. Corregida la exportación de informes de simulación a un archivo. Algunos valores podían redondearse incorrectamente al usar como divisa del depósito una divisa con una precisión de 0 dígitos decimales. Por ejemplo, JPY.
    22 octubre 2021
    MetaTrader 5 build 3091: Mejoras en el funcionamiento

    Terminal

    1. Corregido el salto a una página vacía después de comprar servicios MQL5. Ahora, los usuarios pasarán directamente a los resultados de la operación.
    2. Corregida la compresión excesiva de las imágenes en los documentos cargados al solicitar cuentas reales. Esto ha incrementado la calidad de las comprobaciones automáticas de KYC y la velocidad en la toma decisiones.
    3. Corregido el funcionamiento de los gráficos abiertos al finalizar la prueba.

    MQL5

    1. Añadido el soporte de SQLite 3.36.0.

    MetaEditor

    1. Añadido el resaltado del fondo de los corchetes emparejados. Para activar la opción, entre los ajustes generales del MetaEditor.
    2. Mejorado el funcionamiento del depurador de programas MQL5.

    Correcciones de crash logs.
    21 octubre 2021
    MetaTrader 5 build 3090: Mejoras en el funcionamiento

    Terminal

    1. Corregido el error que provocaba que en algunos casos pudieran desaparecer instrumentos comerciales personalizados.
    2. Mejorados los iconos de los menús y paneles de instrumentos.
    3. Añadidos tres nuevos idiomas a MQL5.com: francés, italiano y turco.

      El número de idiomas disponibles en la mayor comunidad de tráders, MQL5.community, ha aumentado a 11. Hemos traducido completamente la interfaz del sitio web, la documentación y varias docenas de temas importantes del foro. La traducción de los artículos y el calendario económico estará disponible próximamente.

    4. Correcciones de crash logs.

    MQL5

    1. Corregidos los errores en el funcionamiento de la función StringConcatenate.
    2. Corregida la especificación del valor _LastError al trabajar con la función FileSave. En algunos casos, en lugar de describir el error ocurrido en la función, la variable podía contener un valor nulo.
    3. Corregida la importación de recursos a las matrices del tipo double.

    MetaTester

    1. Corregido el error que provocaba el bloqueo de la ventana del gráfico en la simulación visual.
    Documentación actualizada.
    14 octubre 2021
    MetaTrader 5 build 3081: Mejoras en los servicios MQL5 y diseño actualizado

    Terminal

    1. Mejorada la navegación por los servicios de MQL5.community.

      Los subapartados del Mercado, las Señales y el Hosting se han sacado del área de trabajo al navegador. Esto facilitará la búsqueda de productos, así como el trabajo con las compras y las suscripciones. Para cada servicio, se ha añadido el apartado "Cómo funciona", con información útil sobre su uso.


      Mejorada la navegación por los servicios de MQL5.community


    2. Actualizados por completo los botones de todos los menús, paneles, instrumentos y ventanas de diálogo. Gracias a ellos, la interfaz del terminal y el MetaEditor es ahora más fácil de entender:

      • Reducida la cantidad de pequeños detalles difíciles de distinguir.
      • Se usan menos colores para reducir el ruido de color
      • Se usan menos gradientes para mejorar la legibilidad
      • Se usan metáforas más comprensibles


      En la plataforma se han actualizado todos los menús, paneles y ventanas de diálogo


    3. Añadida la visualización de los costes al realizar transacciones en la historia comercial. Esta función la usan los brókeres regulados por la NFA.


      En la historia de la cuenta, ahora se muestran los costes por transacciones


      Si su bróker activa el cálculo del indicador correspondiente en su lado, entre las columnas disponibles en la historia de operaciones aparecerá la columna "Costes". Esta muestra el coste de una transacción en relación con el precio promedio del instrumento (mid-point spread cost).

    4. Añadido el soporte de la versión coreana de MQL5.com.

      Se trata ya del octavo idioma en el que está disponible la mayor comunidad de tráders, MQL5.community. Hemos traducido completamente la interfaz del sitio web, los artículos, el calendario económico y los temas importantes del foro. La traducción de la documentación de MQL5 aparecerá pronto.

    5. Corregida la carga de los instrumentos comerciales personalizados. En algunos casos, la configuración de los símbolos recién creados podría sobrescribir la configuración de los existentes.
    6. Corregida la visualización de la historia comercial de la señal en el gráfico. Al activarse la opción correspondiente, las operaciones se marcaban en el gráfico para todos los instrumentos a la vez, y no solo para el instrumento del gráfico.
    7. Añadida la exportación de la columna "Recopilar" al informe de la historia comercial. Anteriormente, este indicador se mostraba solo en la historia, pero no se guardaba en un archivo.
    8. Optimizado y significativamente acelerado el funcionamiento de los paneles para las operaciones con un solo clic en la Observación del Mercado y los gráficos.
    9. Corregido el funcionamiento del campo "Coeficientes de margen" para los instrumentos comerciales personalizados. En algunos casos, los valores indicados podían restablecerse a cero.
    10. Continúan los trabajos sobre el servicio de suscripciones para los servicios adicionales de los brókeres. Corregidos los errores en la ventana de suscripción a cotizaciones.
    11. Corregida la representación del objeto analítico "Línea de tendencia". Esta podría desaparecer al escalar y cambiar el tamaño de la ventana del gráfico.
    12. Corregida la visualización del objeto analítico "Rectángulo". Cuando uno de los puntos de anclaje se encuentra fuera del área de visibilidad del gráfico, el objeto podría desaparecer.
    13. Corregido y significativamente acelerado el funcionamiento de los chats integrados de MQL5.community.
    14. Corregido el redondeo del parámetro "Precio" en la lista de posiciones abiertas. Anteriormente, era posible que no se mostrase la parte fraccionaria del valor.
    15. Corregida la comprobación de los teléfonos móviles al abrir cuentas. Para algunos operadores de China, el teléfono podía detectarse como indicado incorrectamente.
    16. Añadido el soporte para contraseñas de más de 32 caracteres en cuentas MQL5.
    17. Corregida la exportación de certificados al trabajar con Wine. Esta función se utiliza para cuentas con autenticación extendida al trasladar estas del escritorio al dispositivo móvil.
    18. Corregido el funcionamiento de los botones para cambiar a los servicios MQL5 ubicados en el panel inferior de la ventana "Herramientas". Cuando se desacoplaba la ventana, los botones quedaban inactivos.
    19. Limitado el tamaño del menú "Archivo \ Nuevo gráfico": no más de 128 submenús con grupos de símbolos y no más de 32 símbolos en cada submenú. Esto permitirá acelerar el trabajo con el terminal y evitar bloqueos al añadir a la "Observación de Mercado" un gran número de instrumentos (2000 y más).

    MQL5

    1. Continúa el trabajo para añadir el soporte de vectores y matrices. Las nuevas funciones ampliarán significativamente las posibilidades para los desarrolladores de soluciones basadas en redes neuronales.
    2. Añadidos los valores DEAL_SL y DEAL_TP a la enumeración ENUM_DEAL_PROPERTY_DOUBLE: los niveles de Stop Loss y Take Profit de la transacción.

      Para las transacciones de entrada y reversión, estas propiedades se establecen según el valor de Stop Loss/Take Profit de las órdenes que han propiciado su ejecución. Para las transacciones de salida, se usan los valores de Stop Loss/Take Profit de las posiciones correspondientes en el momento de su cierre.

    3. Añadido el valor MQL_HANDLES_USED a la enumeración ENUM_MQL_INFO_INTEGER: el número de objetos de clase (manejadores) activos en un programa MQL. Se consideran tanto los objetos dinámicos (creados a través de nuevos) como los no dinámicos, las variables globales/locales o los miembros de la clase. Cuantos más manejadores use un programa, más recursos consumirá.

    4. Añadidos nuevos métodos para trabajar con la estructura MqlCalendarValue, que describe un evento del calendario económico:

      • HasActualValue(void): retorna true si se establece el valor actual del evento; de lo contrario, false
      • HasForecastValue(void): retorna true si se establece el valor del evento predicho; de lo contrario, false
      • HasPreviousValue(void): retorna true si se establece el valor del evento anterior; de lo contrario, false
      • HasRevisedValue(void): retorna true si se establece el valor del evento revisado; de lo contrario, false
      • GetActualValue(void): retorna el valor actual del evento (double), o nan, si no está establecido
      • GetForecastValue(void): retorna el valor del evento predicho (doble), o nan, si no se establece
      • GetPreviousValue(void): retorna el valor del evento anterior (doble), o nan, si no se establece
      • GetRevisedValue(void): retorna el valor de evento revisado (doble), o nan, si no se establece

    5. Corregida la depuración de programas MQL5 usando las bibliotecas en forma de archivos EX5.
    6. Acelerada la compilación de programas que contienen grandes matrices inicializadas por una secuencia.
    7. Corregido el error en la función CopyTicksRange que sucedía al trabajar con los datos de los instrumentos comerciales personalizados. En algunos casos, la función podía retornar datos que no se correspondían con el periodo solicitado.
    8. Corregida la comprobación de la presencia de todos los parámetros de la plantilla al realizar la especialización por parámetros. En algunos casos, la compilación del código con las plantillas a depurar podía provocar el error "code generation error".

    Signals

    1. Añadida la posibilidad de renovar automáticamente la suscripción a las Señales.

      Ahora no tendrá que preocuparse de que su suscripción finalice abruptamente. Cuando expire el plazo, el sistema la renovará automáticamente por un mes usando el mismo método de pago que utilizó para la compra.


      Active la renovación automática de la suscripción a las Señales


      Si al realizar un pago se selecciona una tarjeta, pero el pago de la renovación falla, el sistema intentará usar los fondos de su cuenta MQL5.

      No se preocupe sobre un eventual cambio en el precio de su suscripción. Si el precio aumenta, la renovación automática no tendrá lugar. Se le notificará sobre ello a través del correo indicado en su cuenta MQL5.

      La renovación automática se puede activar o desactivar en cualquier momento en el apartado "Mis suscripciones" de MQL5.com.


      Gestione la renovación automática en el apartado &quot;Mis suscripciones&quot; en MQL5.com


    2. Corregidos los errores en la representación del escaparate de señales. Ahora el sistema considerará de forma más correcta la compatibilidad de las señales con la cuenta actual.

    Market

    1. Añadida la búsqueda por nombre y nombre de usuario del autor de un producto en el escaparate del Mercado. Antes, la búsqueda solo funcionaba según el nombre y la descripción de los productos.

    VPS

    1. Mejorado el sistema de renovación automática de la suscripción al VPS.

      Anteriormente, el usuario podía pagar la renovación automática solo con los fondos de su cuenta MQL5. Por consiguiente, para que se realice la renovación, deberá disponer de una cantidad suficiente de fondos en general.

      Ahora no tendrá que pensar en recargar la cuenta a tiempo. Para la renovación automática, el sistema usará el mismo método de pago que utilizó al realizarse por primera vez la suscripción. Si usted ha pagado el hosting con una tarjeta y ha activado la renovación automática, cuando expire el periodo actual, el sistema renovará la suscripción a la misma tarifa, cobrando los fondos de la misma tarjeta. Si el pago con tarjeta falla, el sistema intentará usar los fondos de su cuenta MQL5 como antes.


      Para la renovación automática ahora se pueden usar una tarjeta u otros métodos de pago


      Con la nueva función, podrá estar seguro de que su suscripción no caducará, sus asesores seguirán trabajando y el copiado de señales no se detendrá. No será necesario comprobar y recargar su saldo manualmente.
      La función solo funcionará para suscripciones nuevas. Para las existentes se usará el antiguo esquema de renovación automática mediante el pago con fondos de la cuenta MQL5.

    Tester

    1. Corregido los errores en la simulación visual. En algunos casos, los indicadores utilizados en el asesor experto no se podían mostrar en el gráfico.

    MetaEditor

    1. Corregido el paso a la declaración de una función o variable usando las teclas Alt+G. Si la declaración se encontraba por debajo de la línea desde la que se originó la llamada, el paso no se realizaba.
    2. Añadida la muestra del tipo de objeto para las referencias a los objetos de clase en el depurador.
    3. Añadido el soporte de representación de "union" en la lista de expresiones observadas.

    MetaTrader 5 iPhone/iPad, MetaTrader 5 Android

    1. Añadida la visualización de la ventana de diálogo de exención de responsabilidad al iniciar la aplicación. Por favor, lea la información atentamente. Además, algunos brókeres pueden crear una cuenta de demostración para usted automáticamente al iniciar la aplicación por primera vez. En este caso, se le mostrará una ventana de diálogo de advertencia sobre las reglas.


      En MetaTrader 5 para iPhone/iPad se han añadido advertencias especiales

    2. Añadida la posibilidad de conectar una cuenta al monitoreo en el servicio "Señales" directamente desde la aplicación móvil. Para hacer esto, seleccione "Monitoreo de la cuenta" en el menú. Para mayor comodidad, el número de la cuenta y el nombre del bróker se sustituyen inmediatamente en la ventana de registro. Solo necesitará indicar el nombre de la señal y la contraseña del inversor.

      Conectando la cuenta al monitoreo, podrá recibir estadísticas avanzadas sobre sus transacciones, compartir los resultados con otros operadores y también vender señales.

    3. Añadido el soporte de Huawei AppGallery y HMS Services para los terminales móviles que funcionan con el sistema operativo Android. Los propietarios de teléfonos inteligentes Huawei podrán instalar la aplicación desde su tienda y trabajar con notificaciones automáticas.

    Documentación actualizada.



    18 junio 2021
    MetaTrader 5 build 2980: Notificaciones push sobre operaciones comerciales

    Terminal

    1. Añadida la posibilidad de recibir notificaciones Push sobre transacciones desde el terminal comercial, estas funcionan incluso cuando su terminal está desactivado.



      Antes, usted podía recibir notificaciones en los dispositivos móviles solo desde su propio terminal de escritorio. En cuanto se realizaba una operación comercial, el terminal enviaba el mensaje correspondiente al MetaQuotes ID especificado en los ajustes. En consecuencia, esto solo funcionaba mientras el terminal permaneciera encendido. Ahora no existen tales restricciones. Si un Take Profit se ha activado en el servidor y su computadora está apagada, recibirá una notificación sobre el cierre de la posición en su dispositivo móvil.

      Para recibir notificaciones del servidor, necesitará:
      • Tener una cuenta real: las notificaciones del servidor no funcionan para las cuentas demo
      • Instalar en su smartphone el terminal móvil MetaTrader 5 para iOS o Android
      • Abrir en este el apartado de mensajes, encontrar su MetaQuotes ID e indicarla en los ajustes del terminal de escritorio
      • Activar las notificaciones del servidor en los ajustes del terminal de escritorio

      La disponibilidad y los detalles de las notificaciones dependen de su bróker

      En total, tienen soporte tres tipos de notificaciones: sobre órdenes, sobre transacciones y sobre operaciones de balance. Cuando esta opción está habilitada, los tipos de notificaciones disponibles se mostrarán en el diario del terminal:
      '1222': subscribed to deals, orders, balance notifications from trade server

    2. Actualizado el escaparate de MetaTrader VPS. Ahora es más moderno y cómodo:
      • La interfaz se adapta a cualquier ancho de pantalla.
      • La altura del escaparate ocupa menos espacio para caber siempre en la ventana de trabajo.
      • La información necesaria aparece solo en el momento en que se necesita. La información adicional de pago no se le mostrará hasta que usted haya elegido una tarifa.




    3. Añadidos al panel del simulador de estrategias los comandos necesarios para pasar rápidamente a los servicios MQL5 y a la ventana "Herramientas". Estos se muestran solo en la sección "Vista general"; en otras pestañas, el panel se utiliza para administrar la simulación.



    4. Añadido el guardado del estado de las ventanas para los servicios MQL5. Si usted deja el Mercado abierto antes de apagar el terminal, lo encontrará en el mismo estado la próxima vez que lo encienda.
    5. Corregida la sincronización periódica del estado de la cuenta MQL5. En algunos casos, un error podía provocar la imposibilidad de copiar señales.
    6. Corregida la visualización de la selección de productos recomendados en el Mercado.
    7. Corregido el funcionamiento del menú contextual de señales en el Navegador. Con su ayuda, puede pasar a la visualización de la señal a la que está suscrito, y también darse de baja.

    MQL5

    1. Corregido en la biblioteca estándar el error en el funcionamiento del operador "-" en la implementación de números complejos (archivo MQL5\Include\Math\Alglib\complex.mqh).
    2. Ahora se puede usar cualquier expresión en las secuencias de inicialización, no solo expresiones constantes. Esto aumentará la comodidad de uso y mejorará la compatibilidad con el código С++.
      struct POINT
        {
         int x,y;
        };
      
      int GetYFunc(y)
        {
         return(y * y);
        }
      
      void SomeFunction(int x1,int x2,int y)
        {
         POINT pt={ x1+x2, GetYFunc(y) };
         ProcessPoint(pt);
        };
    3. Corregido el error que surgía al compilar union con grandes matrices de datos.
    4. Corregido el funcionamiento de la función StringToCharArray. Ahora convierte toda la línea transmitida en una matriz Char, en lugar de detenerse en el primer carácter nulo de terminación.
    5. Añadido el control sobre la presencia explícita de una llamada al constructor en el código para las clases/estructuras para las que la clase padre no tiene un constructor predeterminado.

    MetaEditor

    1. Añadida la representación del lugar de llamada para las funciones inline en el informe del perfilador.
      En el ejemplo mostrado más abajo, la llamada de func(); ahora es destacada:



      La propia función func no se destaca, dado que su código se ubica completamente en OnStart.

    2. Añadida la posibilidad de crear un proyecto vacío. Esto resultará útil a la hora de realizar desarrollos no estándar con una estructura de archivos propia, cuando las plantillas predeterminadas no sean adecuadas.



      Al crear un proyecto de esta forma, solo se creará un archivo de configuración "mqproj" vacío. Los archivos para el código fuente deberán ser creados por usted mismo.

    MetaEditor

    1. Inicio acelerado del MetaEditor.
    2. Corregido el error de representación de los datos en la lista de expresiones observadas durante la depuración. En algunos casos, podía mostrar valores incorrectos de las variables.
    3. Corregida la adición automática de la extensión .py" a los archivos de los scripts en Python creados con el MQL Wizard.

    Documentación actualizada.
    21 mayo 2021
    MetaTrader 5 build 2940: Transferencia de los escaparates de los Servicios MQL5 al espacio de trabajo y actualización del diseño

    Terminal

    1. Los Servicios "Mercado", "Señales" y "Hosting Virtual" han sido trasladados a la nueva zona de trabajo de la plataforma para operar con mayor comodidad.

      Antes, los apartados para la compra de los servicios MQL5 se encontraban en la ventana "Herramientas", donde no había mucho espacio disponible. La zona de trabajo principal permite mostrar a los usuarios escaparates completos en los que podrán estudiar con detalle y seleccionar los productos necesarios. En este caso, el menor número de pestañas en las herramientas facilitará el trabajo con las otras funciones de la plataforma.



      Intentamos asegurarnos de que el acceso a servicios adicionales no obstaculice las principales tareas de los tráders, a saber, comerciar y analizar gráficos:
      • Las pestañas de los servicios se encuentran al final, después de todos los gráficos.
      • Si no son necesarias las ventanas de servicio, simplemente pueden cerrarse. Podrá acceder a ellas fácilmente a través del "Navegador", la barra de herramientas o el menú "Servicios".

      Aparte de la transferencia, hemos actualizado totalmente el diseño de los servicios. Ahora resulta más ligero y moderno. Las señales ahora contienen datos adicionales que antes solo estaban disponibles en la ventana del sitio web de MQL5.community: un diagrama de telaraña con las principales características, un indicador de fiabilidad y actividad, etc.






    2. Añadido el soporte completo de direcciones IPv6.

      El protocolo IPv4, que ahora se usa en todas las redes, se inventó hace más de 30 años. Contiene direcciones IP de 32 bits y se representa como cuatro números de 8 bits, separados por puntos. Esto nos permite tener más de cuatro mil millones de direcciones IP únicas. No obstante, ahora el número de dispositivos y sitios web en todo el mundo ha aumentado tanto que las direcciones ya no resultan suficientes para todos los interesados.

      En este sentido, los productos están migrando paulatinamente para el soporte paralelo a un protocolo más moderno: IPv6. Contiene una dirección de 128 bits y se representa como x:x:x:x:x:x:x:x, donde cada letra x supone el valor hexadecimal de los seis elementos de 16 bits de la dirección. Este formato permite obtener 5 x 10 ^ 28 direcciones únicas. Además de un espacio de direcciones significativamente mayor, el protocolo tiene otras ventajas sobre la versión anterior. Podrá leerlas en artículos especializados.

      Lo más importante es que la plataforma MetaTrader 5 ahora está completamente preparada para IPv6. Si su bróker o proveedor lo transfiere a un nuevo esquema laboral, no sentirá ningún cambio y continuará comerciando sin obstáculos.

    3. Continúa el trabajo con el administrador de tareas mostrado en 2815. Ahora, para los gráficos en los que se ejecuta la depuración o el perfilado de programas MQL5, existe una indicación explícita de ello.




    4. Acelerado el inicio de la plataforma en Wine en las computadoras con macOS y Linux. Hemos realizado una optimización general del funcionamiento, y corregido los errores:
      • Mejorada la representación del menú, los paneles de herramientas y las ventanas de diálogo.
      • Corregidos los errores en la representación de los apartados "Mercado", "Señales" y "VPS". En concreto, se ha corregido la carga de los logotipos de los productos en el escaparate del "Mercado".
      • Actualizado el paquete para la instalación fácil de MetaTrader 5 en las computadoras con macOS. Con su ayuda, la plataforma se instala como una aplicación normal.
        En el paquete se incluyen componentes adicionales necesarios para un funcionamiento más rápido y estable. Recomendamos encarecidamente a sus usuarios reinstalar MetaTrader 5 a través del enlace https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/MetaTrader5.pkg.zip


      Si usted usa CrossOver, reinstale por completo MetaTrader 5 en él para obtener la última versión de 64 bits de la plataforma.
    5. Corregido el funcionamiento de la combinación de teclas "Ctrl+F9". Ahora, dicha combinación alterna el foco sobre la pestaña de comercio en las "Herramientas".

    MQL5

    1. Seguimos renunciando a las tecnologías antiguas, incluidos los componentes de 32 bits.

      • Los terminales de 32 bits ya no podrán cargar los programas del "Mercado".
      • Los terminales de 32 bits no pueden utilizar el servicio de hosting.
      • En los editores de 32 bits del MetaEditor ya no está disponible la función de protección adicional de archivos a través de MQL5 Cloud Protector.
      • Los programas MQL5 compilados en las versiones demasiado antiguas del MetaEditor (lanzadas hace 5 años o más) no se iniciarán en la nueva versión del terminal.

      El soporte de la versión de 32 bits de la plataforma finalizó hace un año, en el build 2361. Le recomendamos encarecidamente cambiar a la versión de 64 bits de MetaTrader 5 para poder usar todas las funciones de la plataforma.
      Recomendamos encarecidamente a todos los vendedores que hayan subido versiones de productos de 32 bits al Mercado que recompilen estos en el último MetaEditor de 64 bits y carguen las versiones actualizadas. En las próximas versiones, desactivaremos por completo la posibilidad de ejecutar programas MQL5 de 32 bits en los terminales.

    2. Añadido el soporte de operaciones con números complejos.
      Añadido el nuevo tipo incorporado "complex".
      struct complex
        {
         double             real;   // parte real
         double             imag;   // parte imaginaria
        };
      El tipo "complex" puede transmitirse mediante un valor en calidad de parámetro para las funciones MQL5 (a diferencia de las estructuras normales, que se transmiten mediante un enlace). Para las funciones importadas desde una DLL, el tipo "complex" debe transmitirse solo mediante un enlace.

      Para describir las constantes complejas, se usa el sufijo 'i':
      complex square(complex c)
        {
         return(c*c);
        }
        
      void OnStart()
        {
         Print(square(1+2i));  // se transmite una constante como parámetro
        }
      
      // se mostrará "(-3,4)", la representación de línea del número complejo
      Para los números complejos, en estos momentos están disponibles solo las operaciones sencillas: =, +, -, *, /, +=, -=, *=, /=, ==, !=.

      En el futuro, se añadirán funciones matemáticas adicionales: obtención del valor absoluto, seno, coseno y muchas otras.

    3. Añadido el código de error TRADE_RETCODE_HEDGE_PROHIBITED: la apertura de posiciones o la colocación de órdenes no resulta posible, debido a que no se permiten las posiciones superpuestas. El error se retorna como respuesta al intento de realizar una transacción comercial si la cobertura está prohibida, mientras que en la cuenta hay una posición u orden en la dirección opuesta del mismo símbolo.

    MetaEditor

    1. Corregida la interrupción de la depuración y el perfilado en el modo visual.
    2. Corregido el perfilado de indicadores con datos reales. En algunos casos, podía no iniciarse.

    VPS

    1. Corregido el error de migración del entorno al VPS. Este surgía si el experto trasladado contenía un indicador en forma de recurso.

    Signals

    1. Corregida la comprobación del modo de comercio al copiar señales. El comercio con un instrumento puede verse restringido por parte del bróker: pueden estar permitidas solo las posiciones largas, solo las posiciones cortas o solo las posiciones cerradas. Antes, para realizar el copiado con éxito, el servicio requería permiso completo para comerciar; de lo contrario, la sincronización se interrumpía. Ahora, también se considerarán "negociables" los símbolos cuyo comercio está parcialmente limitado. Los clientes de los brókeres bursátiles podrán copiar señales sin obstáculos.

    Tester

    1. Corregida la comprobación de la sesión comercial al realizar simulaciones. En algunos casos, las operaciones comerciales durante las pruebas podían fallar con el error "market closed", a pesar de haber entrado en la sesión comercial.
    Documentación actualizada.
    2 abril 2021
    MetaTrader 5 build 2875: Mejoras y correcciones

    Terminal

    1. Corregido el error que provocaba que la actualización de los programas MQL5 estándar se copiara en la carpeta raíz del directorio de datos del terminal, y no en el subdirectorio MQL5. Debido al error, los usuarios podían ver en este carpetas innecesarias como Experts, Images, Include, etcétera.

      Al actualizar a una nueva versión de la plataforma, los directorios innecesarios se eliminarán automáticamente después de realizarse una comprobación adicional.

    Terminal

    1. Corregido el error que impedía en algunos casos iniciar sesión en el chat de MQL5.community incorporado en el terminal.

    Tester

    1. Corregida la optimización de asesores a través de MQL5 Cloud Network. En algunos casos, no podía iniciarse.

    MetaEditor

    1. Corregidos los errores y bloqueos al depurar y perfilar programas MQL5.
    Documentación actualizada.
    26 marzo 2021
    MetaTrader 5 build 2860: Mejoras para Wine y ampliación de la integración con SQLite

    Terminal

    1. Añadida la posibilidad de activar/desactivar los servicios adicionales de MQL5.community. Por ejemplo, si no está interesado en los artículos sobre programación MQL5 o el copy-trading en el servicio "Señales", podrá desactivarlos para ahorrar recursos y espacio de trabajo en el terminal.



      Todos los servicios están activados por defecto.

    2. Realizada una gran optimización del terminal en Wine en computadoras con macOS y Linux:
      • Ahora las ventanas de servicio desacopladas (Navegador, Herramientas) no se pueden arrastrar fuera de la terminal. Antes, en dichos casos, los usuarios podían tener problemas para devolver las ventanas al terminal.
      • Corregido el cambio de tamaño del contenido de la ventana de servicio al modificar el tamaño de la misma.
      • Corregida la representación de las métricas de rendimiento en el administrador de tareas.
      • Mejorada la representación de iconos en la barra de herramientas.
      • Reparado el contador de mensajes no leídos en el chat.
      • Corregida la representación de los comandos de sistema del gráfico: Ocultar, Expandir, Cerrar.
      • Corregida la representación del diario de registro.
      • Corregida la representación de la información sobre las herramientas de los gráficos.
      • Corregido el funcionamiento de los comandos para imprimir gráficos.
      • Corregida la representación del menú superior al utilizar temas en Linux.
      • Corregida la búsqueda en GitHub, MSDN y Stack Overflow en el MetaEditor.

      Recomendamos a todos los usuarios que actualicen a la última versión estable de Wine. Esto aumentará la velocidad y la fiabilidad de la plataforma.
    3. Añadido el soporte de órdenes "Market To Limit" al comerciar en la Bolsa de Estambul (BORSA Istanbul). Inicialmente, estas órdenes se ejecutan como una orden de mercado, pero si no hay suficiente liquidez, el resto se coloca en la profundidad de mercado como orden límite con el precio de la última transacción.
    4. Corregida la representación del gráfico de volatilidad. Ahora se construye considerando la fecha de caducidad elegida en el tablero de opciones.
    5. Corregida la adición de instrumentos comerciales a la Observación de Mercado a través de la barra de búsqueda rápida. Antes, si existía un espacio en el nombre del instrumento, no se añadía a la lista.



    MQL5

    1. Ampliadas las posibilidades para trabajar con bases de datos SQL. Ahora podrá usar multitud de funciones estadísticas y matemáticas en sus consultas.

      Funciones estadísticas
      • mode — moda
      • median — mediana (percentil 50)
      • percentile_25 — percentil 25
      • percentile_75 — percentil 75
      • percentile_90 — percentil 90
      • percentile_95 — percentil 95
      • percentile_99 — percentil 99
      • stddev o stddev_samp — desviación estándar de la muestra
      • stddev_pop — desviación estándar de la población
      • variance or var_samp — varianza de la muestra
      • var_pop — varianza de la población

      Funciones matemáticas

      Ejemplo
      select
        count(*) as book_count,
        cast(avg(parent) as integer) as mean,
        cast(median(parent) as integer) as median,
        mode(parent) as mode,
        percentile_90(parent) as p90,
        percentile_95(parent) as p95,
        percentile_99(parent) as p99
      from moz_bookmarks;
    2. Añadidas nuevas macros:
      • __COUNTER__ — aumenta una unidad con cada llamada. Al usarse en plantillas y macros, se mantienen contadores separados.
      • __RANDOM__: genera un número ulong aleatorio, es similar a la función MathRand.

    3. Corregido el funcionamiento de las solicitudes sincrónicas al gráfico cuando el símbolo del gráfico no existe. Ahora, en lugar de esperar indefinidamente el resultado, las funciones retornarán un error. La situación con un instrumento inexistente puede surgir al alternar entre cuentas comerciales con diferentes conjuntos de instrumentos comerciales.
    4. Optimizado y significativamente acelerado el funcionamiento de las funciones CopyTicks*.

    MetaEditor

    1. Modificado el orden de perfilado y depuración con datos históricos.

      El perfilado ahora siempre se realiza en el modo no visual. La depuración también se realiza en el modo no visual por defecto, no obstante, puede cambiarla manualmente en la configuración del MetaEditor:




    2. Añadida la posibilidad de realizar el perfilado de servicios. Este se efectúa igual que en otros tipos de programas MQL5.
    3. Corregida la representación de los nombres de las funciones en el informe del perfilador. En algunos casos, podían especificarse como <uknown>.

    Documentación actualizada.
    26 febrero 2021
    MetaTrader 5 build 2815: Acceso a la profundidad de mercado desde Python, mejoras en el depurador y el perfilador

    Terminal

    1. Añadida la posibilidad de obtener los datos de la profundidad de mercado a través de Python API.
      Las tres nuevas funciones permiten obtener de forma fácil y rápida los datos para los cálculos estadísticos y el aprendizaje automático utilizando una gran cantidad de bibliotecas Python listas para usar.
      • market_book_add — realiza la suscripción del terminal MetaTrader 5 para recibir eventos sobre los cambios en la profundidad de mercado del símbolo indicado.
      • market_book_get — retorna desde BookInfo la tupla que contiene las entradas de la profundidad de mercado del símbolo indicado.
      • market_book_release — cancela la suscripción del terminal MetaTrader 5 para recibir eventos sobre los cambios en la profundidad de mercado del símbolo indicado.

    2. La longitud máxima de los mensajes Push ha aumentado de 256 a 1024 caracteres. Ahora, usted podrá enviar mucha más información a los dispositivos móviles desde sus programas MQL5.
    3. Añadida la versión preliminar del "Administrador de tareas" llamada con la tecla F2.
      El administrador de tareas es un sistema que monitorea los recursos utilizados por la plataforma. En él podrá ver cuánta memoria consumen los gráficos, cuántos recursos del procesador usan los asesores, etcétera. Si algo está ralentizando la velocidad de su plataforma, podrá detectar y solucionar fácilmente el problema.



    4. Mejorado el servicio "Suscripciones". Se ha añadido una indicación especial para los instrumentos comerciales cuyos datos se transmiten con retraso:
      • Los símbolos en la "Observación de mercado" están marcados con un icono en forma de reloj; el valor de retraso se muestra con una pista emergente
      • En los gráficos se muestra una notificación sobre el retraso de los datos



    5. Corregida la representación de la lista de suscripciones cuando no existe conexión a la cuenta comercial.
    6. Corregido el funcionamiento de los enlaces en los emails y noticias. Ahora se abren en el navegador por defecto. Antes se utilizaba para ello Internet Explorer.
    7. Corregidas las conexiones desde WebRequest a los hosts con direcciones IPv6 y protección de Cloudflare.
    8. Mejorada la funcionalidad y la respuesta del servicio VPS.
    9. Mejorado el funcionamiento de la plataforma con Wine y MacOS/Crossover, incluida la versión de macOS Big Sur con procesador M1.

    MQL5

    1. Corregido el error de la función ArrayPrint. Antes, en algunos casos, la función podía no mostrar la matriz.
    2. Optimizadas las operaciones de archivo ejecutadas con la ayuda de las funciones File*. Ahora, la lectura y el guardado de archivos se realiza sustancialmente más rápido.
    3. Eliminada la restricción que requería especificar el tamaño de las dimensiones segunda, tercera y cuarta de una matriz dinámica al utilizar esta como parámetro de función. Esto aumentará las posibilidades de reutilización y la flexibilidad de su código.
      void func(int &arr[ ][ ][ ][ ])
        {
        }
    4.  Corregido el error de funcionamiento en la función ArrayBsearch. Al realizar la búsqueda binaria de un valor en una matriz clasificada, la función podía retornar incorrectamente el índice del elemento encontrado.

    MetaEditor

    1. Continúan los trabajos de actualización global del depurador.

      • Al mostrar las matrices en la ventana de observación, se tiene en cuenta la clasificación especificada por la función ArraySetAsSeries.
      • Añadido el soporte de variables estáticas locales.
      • Corregida la representación del valor del elemento de matriz especificado.
      • Corregido el procesamiento de los campos static de las clases.
      • Multitud de correcciones para una depuración más precisa y fiable.

    2. Añadida la opción "Activar optimización al realizar perfilado"
      Para aumentar el volumen de detalle del informe de perfilado, podrá desactivar el modo de optimización de código. Sin optimización, la velocidad del código puede disminuir varias veces, pero a cambio podrá ver una cobertura de código más amplia. Tenga en cuenta que al usar el código, los cuellos de botella resultarán imprecisos.
      Para utilizar un modo de perfilado más suave, desactive la opción "Usar inlining al realizar el perfilado".



      Asimismo, existe la posibilidad de gestionar la optimiazación del código los ajustes de los proyectos.
      • Si la optimización está desactivada en el proyecto, la nueva opción se ignorará; la optimización siempre está desactivada para el perfilado (incluido el inlining).
      • Si la optimización está activada en el proyecto, la nueva opción se considerará al compilar para el perfilado.

    3. Añadido el registro al realizar la depuración y el perfilado. Durante inicio, en el registro se muestra la configuración del entorno, mientras que al interrumpirse el proceso, se muestran estadísticas sobre los datos recopilados.
      MQL5 profiler    starting 'ExpertMACD.ex5' on history with parameters:
      MQL5 profiler       symbol: 'EURUSD'
      MQL5 profiler       period: 'H1'
      MQL5 profiler       date from: '2021.01.01'
      MQL5 profiler       date to: '2021.02.22'
      MQL5 profiler       ticks mode: 'every tick'
      MQL5 profiler       execution delay: 0 ms
      MQL5 profiler       deposit: 10000
      MQL5 profiler       currency: 'USD'
      MQL5 profiler       leverage: 1:100
      MQL5 profiler       profit in pips: NO
      MQL5 profiler    profile data received (4640 bytes)
      MQL5 profiler    758 total measurements, 0/0 errors, 470 kb of stack memory analyzed
      MQL5 profiler    7782 total function frames found (1929 mql5 code, 342 built-in, 1403 other, 4108 system)

    Tester

    1. Corregida la especificación de las horas no comerciales en los ajustes de simulación ampliados.

    Documentación actualizada.
    15 enero 2021
    MetaTrader 5 build 2755: Mejoras en la ventana de cotizaciones y el depurador

    Terminal

    1. Rediseñada la ventana de cotizaciones; ahora, podrá ver los precios de los instrumentos en pantallas de cualquier tamaño.

      Ahora, la información en ella se puede mostrar en varias columnas, lo cual permite optimizar el espacio en la pantalla. Para alternar el modo de muestra, use el cuadro de diálogo de propiedades de la ventana.


      Aparte de ello, se han introducido varias mejoras:

      • Añadido menú de selección de columnas. Ahora, podrá encontrar en este las mismas propiedades del instrumento que en la ventana de "Observación de Mercado".
      • Optimizado el trabajo con un gran número de instrumentos. Ahora, la ventana funciona igual de bien tanto si se muestran 10 instrumentos, como si se muestran 1000.
      • Añadida la representanción de información breve sobre el instrumento en las pistas emergentes.
      • Corregida la aplicación de los ajustes de color para representar los precios ascendentes y descendentes.

    2. Añadida la muestra de transacciones en el gráfico de ticks de la profundidad de mercado sintética.

      La profundidad de mercado sintética se usa para los símbolos de los que no se retransmiten los precios Level 2. Los niveles se construyen automáticamente, a partir de los mejores precios Bid y Ask, y a distancias iguales a un salto de cambio de precio. Ahora, si se transmiten los datos de un símbolo sobre el precio y el volumen de la última transacción, usted podrá verlos con claridad en el gráfico de ticks. La información se representa en forma de círculos:
      • Los círculos rojos muestran las transacciones de venta.
      • Los círculos azules muestran las transacciones de compra.
      • Los círculos verdes se muestran cuando la dirección de las transacciones no está definida.

      Cuanto mayor sea el tamaño del círculo, mayor será el volumen de la transacción realizada.



    3. Corregido el cálculo de las "griegas" en el panel de opciones. El error aparecía cuando el activo básico de la opción tenía un precio cero en la última transacción.
    4. Continúan los trabajos sobre el nuevo servicio de "Suscripciones", permitiendo adquirir servicios adicionales para el trading. En concreto, se ha corregido la muestra de suscripciones que dependen de otras suscripciones. Estas suscripciones se usan para servicios agrupados.
    5. Mejorado el funcionamiento de la plataforma con Wine.

    MQL5

    1. Añadida la generación de eventos del gráfico ChartEvent al soltar los botones derecho y medio del ratón. Esto se puede utilizar, por ejemplo, al crear paneles gráficos. Para trabajar con los eventos, será necesario desactivar el menú contextual del gráfico, utilizando para ello la propiedad CHART_CONTEXT_MENU.
    2. Corregido el fallo que provocaba un error significativo en el tiempo de espera en la función Sleep.

    MetaEditor

    1. Iniciados los trabajos de actualización global del depurador. En concreto, se ha mejorado notablemente la ventana de expresiones observadas. En esta, se ha añadido la posibilidad de ver el contenido de las matrices y objetos en forma de listas desplegables, así como los valores de los punteros.



      Para visualizar una matriz u objeto, clique dos veces sobre estos en la ventana de observación.

    2. Corregido el bloqueo al abrir ciertos proyectos.
    Documentación actualizada.

    26 noviembre 2020
    MetaTrader 5 build 2715: Mejoras generales

    Terminal

    1. Corregido el fallo de la plataforma al utilizar el cuadro de opciones. Podía suceder si el tick tenía un tamaño cero en los ajustes del instrumento comercial.
    2. Corregidos los errores de representación de la interfaz en los monitores HiDPI.

    MQL5

    1. Corregida la conversión de líneas a fecha/hora con la ayuda de la función StringToTime. El error surgía al indicar la fecha/hora en el formato "yyyymmdd [hhmiss]".
    2. Corregido el error en el operador de copiado implícito para los objetos que contienen matrices dinámicas. Ahora, al realizar el copiado, el tamaño del objeto de destino se reduce hasta el tamaño del objeto copiado.
      struct MyStruct
      {
        string Array[];
      };
      
      void OnStart()
      {
        MyStruct a1,a2;
        ArrayResize(a1.Array,3);
        ArrayResize(a2.Array,1);
        a1=a2;
      }
      Antes, como resultado de la llamada de esta función, la matriz "а1" tenía un tamaño 3. Ahora, tendrá un tamaño 1.

    MetaTester

    1. Actualizado el algoritmo para calcular la clasificación de los agentes de simulación en la red de cálculos en la nube MQL5 Cloud Network. La clasificación se determinará de forma más precisa y cambiará con menor frecuencia.

    Documentación actualizada.
    12 noviembre 2020
    MetaTrader 5 build 2560: Mejoras en el MetaEditor

    Terminal

    1. Corregida la muestra de la profundidad de mercado sintética. Antes, podía no estar disponible para algunos instrumentos.

      La profundidad de mercado sintética se usa para los símbolos de los que no se retransmiten los precios Level 2. Los niveles se construyen automáticamente, a partir de los mejores precios Bid y Ask, y a distancias iguales a un salto de cambio de precio. Se trata de una herramienta adecuada para colocar, modificar y eliminar órdenes de forma rápida y con la máxima claridad.



    MQL5

    1. Optimizado y significativamente acelerado el acceso a los últimos precios de los programas MQL5 con la ayuda de la función SymbolInfoTick.
    2. Corregido el reseteo de los parámetros del indicador "Ichimoku Kinko Hyo" a través de la ventana de diálogo.



    3. Corregido el bloqueo de las funciones Copy* cuando no hay historia disponible del instrumento comercial.
    4. Continuamos trabajando en la actualización completa del perfilador de código. Como adición a las novedades de la versión 2650, hemos introducido una serie de mejoras a su funcionamiento:
      • Mejorada la representación de los precios
      • Abreviado el nombre de las columnas en el informe
      • Añadida la posibilidad de guardar el informe de perfilado en un archivo
      • Añadida la muestra del número de línea en una pista emergente para las funciones en el informe



    MetaEditor

    1. Añadida la posibilidad de desactivar el seguimiento del portapapeles y limpiar su historia.

      La función de seguimiento del portapapeles permite hacer más cómodo el trabajo con el código fuente gracias al acceso rápido a los últimos datos usados. Presione Alt + V en cualquier posición del código fuente, elija en el menú cualquiera de las líneas copiadas anteriormente, y dicha la línea se insertará en la posición seleccionada.
      Para activar/desactivar el seguimiento, utilice el comando correspondiente en el panel de herramientas o use la configuración del editor.



    2. Corregido el error de cálculo de algunas expresiones observadas al depurar los programas.

    MetaTester

    1. Prohibido el comercio para los asesores iniciados en el simulador de estrategias en el modo de recepción de frames.
    2. MetaTester: Corregido el error que surgía al importar los resultados de la optimización en el simulador de estrategias. Debido a ello, los valores de los marcos temporales podían importarse de forma incorrecta.

    Documentación actualizada.
    9 octubre 2020
    MetaTrader 5 build 2650: carga de gráficos en segundo plano y mejoras en el perfilador de código MQL

    Terminal

    1. Añadido el ajuste "Cargar previamente los datos de los gráficos de las posiciones y órdenes abiertas".

      Para ahorrar tráfico, la plataforma comercial descarga la historia de precios de los instrumentos solo en el momento de su solicitud real, por ejemplo, al abrir un gráfico o iniciar la simulación. No obstante, para los instrumentos utilizados más activamente, esto puede no resultar siempre cómodo. Si activa esta nueva opción, los gráficos de los instrumentos de los que usted tiene posiciones abiertas u órdenes pendientes se actualizarán en segundo plano cada vez que inicie la plataforma. Así, al abrir los gráficos, usted no tendrá que esperar a que se carguen los datos, estos siempre estarán disponibles para el análisis.




    2. Corregida la formación de las barras de día despues de los festivos.
    3. Corregida la actualización de los gráficos. En algunos casos, después de descargar adicionalmente los datos de precio actualizados, los gráficos podían no actualizarse.
    4. Optimizada la actualización de la caché de la historia comercial de la cuenta. Esto permitía reducir los retrasos a la hora de obtener los datos con la ayuda de las funciones History*.
    5. Corregida la representación de la columna de comentarios al visualizar la historia comercial en forma de posiciones.
    6. Corregida la representación del botón de prolongación de la suscripción en las "Señales".

    MQL5

    1. Continuamos trabajando en la actualización completa del perfilador de código. Como adición a las novedades de la versión 2615:

      Añdidos nuevos parámetros
      Como ya anunciamos en la anterior actualización, para realizar el perfilado, ahora se usa el método "Sampling". El perfilador pausa el funcionamiento de un programa MQL (~1000 veces por segundo) y recopila estadísticas sobre cuántas veces se ha hecho la pausa en ciertos sectores del código. Asimismo, se analizan las pilas de llamadas, para determinar el "aporte" de cada función al tiempo total de funcionamiento del código. Al final del perfilado, usted obtendrá estadísticas sobre el número de veces que se ha ejecutado la pausa y cuántas veces ha resultado cada una de las funciones en la pila de llamadas:

      • Actividad general de la CPU [unidad de medición, %] — número total de "apariciones" de la función en la pila de llamadas.
      • Actividad propia de la CPU [unidad de medición, %] — número de "pausas" ocurridas propiamente dentro de la función indicada. Este contador es el más importante para determinar los cuellos de botella, ya que, según las estadísticas, la pausa sucede con mayor frecuencia en los segmentos del programa que requieren mayor tiempo de funcionamiento por parte del procesador.


      Añadida la posibilidad de desactivación del inlining de funciones al realizar el perfilado
      Al compilar programas MQL, se realiza el inlining (incorporación), a saber, el código de las funciones se ubica directamente en lugar de su llamada, lo que permite conseguir una aceleración sustancial durante el funcionamiento. Sin embargo, esto dificulta el perfilado de funciones. Para obtener un informe de funciones "puras", usted podrá desactivar el inlining al realizar el perfilado en los ajustes MetaEditor:




      Actualizado el diseño del informe
      Hemos rediseñado el informe de perfilado, así como la representación de la información sobre el perfilado en la ventana del código fuente. El diseño es ahora más actual y familiar para los usuarios de Visual Studio.




    2. Corregido el funcionamiento de la función CopyTicksRange. Debido a él, la función no retornaba todos los datos en algunas situaciones.
    3. Añadido el nuevo código de error TRADE_RETCODE_HEDGE_PROHIBITED: la apertura de posiciones o la colocación de órdenes no resulta posible, debido a que no se permite la cobertura de posiciones. El error se retorna como respuesta al intento de realizar una transacción comercial si la cobertura está prohibida para la cuenta y hay en ella una posición u orden en la dirección opuesta del mismo símbolo.
    4. Eliminada la posibilidad de llamar a la función MessageBox al depurar los indicadores. MessageBox no se llama desde los indicadores, dado que interrumpe el funcionamiento del flujo de ejecución durante todo el tiempo de espera de la respuesta del usuario.
    5. Optimizada y significativamente acelerada la adición de instrumentos comerciales a la "Observación de mercado" con la ayuda de la función SymbolSelect.
    6. Corregido el comportamiento de la función ArrayInsert para las matrices de tamaño fijo. Ahora, existe en la documentación: al insertar elementos, el tamaño de la matriz receptora no cambia; en este caso, además, comenzando desde la posición de inserción, los elementos de la matriz receptora se desplazan a la derecha (los últimos elementos count son "descartados"), mientras que en el espacio liberado se realiza el copiado de elementos desde la matriz fuente.

    Tester

    1. Corregido el trabajo con los ajustes de usuario de las condiciones comerciales al realizar la simulación. Asimismo, se ha rediseñado la ventana de diálogo de ajustes.

      • Corregido el cobro de comisiones de usuario. Ahora, para activar las comisiones, basta con indicar el nombre del símbolo, y no la ruta completa al mismo.
      • Modificada la ubicación de las pestañas, para un trabajo más cómodo.
      • Renombrada la ventana de diálogo y la opción que incluye los ajustes de usuario, para facilitar su comprensión.
      • Optimizada la anchura de las columnas en los recuadros de ajustes.
      • Al activar la opción "Utilizar ajustes de usuario", los demás ajustes en la ventana de diálogo son ahora desactivados. Antes, los ajustes permanecían disponibles para la edición, y los usuarios podían considerar erróneamente que estos se aplicaban al realizar la simulación.




    2. Corregido el error que surgía en algunos casos al obtener órdenes de la historia comercial según el ticket.

    MetaEditor

    1. Añadidos esquemas de color predeterminados para la ventana de edición del código: claro (por defecto), oscuro y azul. Ahora, para trabajar de noche con mayor comodidad, usted no se verá obligado a ajustar manualmente el aspecto externo del editor.

      Aparte de ello, se ha añadido la posibilidad de configurar el color del marco para la ventana de pistas según las funciones.



       
    2. Actualizados por completo los iconos en los paneles de instrumentos para el soporte de monitores HiDPI.

    Documentación actualizada.

    17 septiembre 2020
    MetaTrader 5 build 2615: Análisis fundamental y criterios complejos en el simulador de estrategias

    Terminal

    1. Posibilidades ampliadas para el análisis fundamental de instrumentos.
      Añadidas nuevas propiedades para los instrumentos comerciales, que permiten categorizar estos de forma aún más precisa:
      • Sector — sector económico al que pertenece el instrumento. Por ejemplo: energía, finanzas, sanidad, etcétera.
      • Industria — rama de la industria a la que pertenece el instrumento. Por ejemplo: ropa y accesorios deportivos, fabricación de automóviles, restauración, etcétera.
      • País — país de la compañía cuyas acciones se comercian en la bolsa.

      Estas propiedades han permitido implementar en la Observación de mercado un sistema aparte para trabajar cómodamente con los instrumentos por sectores. Seleccione la categoría necesaria en el menú, y todos los instrumentos disponibles de esta se añadirán a una lista para el análisis complejo:



      Asimismo, las nuevas propiedades estarán ahora disponibles en las especificaciones del contrato:



      Aparte de lo mencionado, ahora podrá abrir fácilmente los datos fundamentales por instrumentos. En el menú contextual de la Observación de Mercado se han añadido para cada símbolo enlaces a los mayores agregadores:



      La disponibilidad de los nuevos datos depende de los brókeres, ya que precisamente ellos controlan los ajustes. No obstante, hemos intentado que la información esté disponible por defecto para el máximo número posible de instrumentos. En cuanto los brókeres actualizan a una versión nueva, los datos por países, sectores e industrias aparecen en las plataformas del usuario.
    2. Mejorado el escaparate de las Señales y el Mercado. Concretamente, se han añadido a la parte izquierda de la ventana los botones para formalizar la suscripción y para todas las opciones de alquiler:



      Aparte de ello, se han introducido varias mejoras para trabajar de forma más cómoda: nuevos colores más vistosos para los botones, botones más llamativos para entrar en la cuenta MQL5, y otras.

    3. Corregido el cálculo de beneficio/pérdidas potenciales para los niveles Stop Loss y Take Profit en los gráficos.



    4. Corregidos los errores en el cálculo de los instrumentos sintéticos. En algunos casos, los errores podía provocar que la plataforma se bloqueara al iniciarse.
    5. Corregida la representación de los valores del indicador incorporado Fractals en la Ventana de Datos.
    6. Actualizados por completo los iconos en los paneles de instrumentos para el soporte de monitores HiDPI.
    7. Corregido el error de corrección del volumen de una posición al copiar las señales comerciales. En algunos casos, la corrección podía no realizarse debido a la aplicación incorrecta de los niveles stop, lo que provocaba el error "invalid stops".
    8. Optimizada la reconstrucción de la historia de precios cuando esta cambia en el servidor.
    9. Corregida la muestra de pistas para los niveles comerciales en los gráficos. En algunos casos, podían mostrarse incluso con la muestra de pistas desactivada.
    10. Corregido el funcionamiento de la opción "Mostrar en los gráficos \ Actualización automática" en el menú contextual de órdenes y posiciones en el apartado "Herramientas \ Comercio". Ahora, al desactivar esta opción, la muestra de la historia comercial se desactiva para todos los gráficos abiertos.

    MQL5

    1. Añadida la función MathClassify. Esta determina el tipo de un número real y retorna el resultado en forma de valor de la enumeración ENUM_FP_CLASS
      ENUM_FP_CLASS  MathClassify(
         double  value      // número real
         );
      La enumeración contiene los siguientes valores:
      • Número subnormal que se encuentra más próximo a cero que el número normalizado DBL_MIN menor representable 2.2250738585072014e-308
      • FP_NORMAL — número normalizado que se encuentra en el intervalo de 2.2250738585072014e-308 a 1.7976931348623158e+308.
      • FP_ZERO — cero positivo o negativo.
      • FP_INFINITE — número que no puede representarse con el tipo correspondiente, infinito positivo o negativo.
      • FP_NAN — no es un número.

      Para comprobar la validez de un número real, podemos utilizar el código siguiente:
      if(MathClassify(value)>FP_ZERO)
        {
         Print("value is not a valid number");
        }
    2. Añadidas nuevas propiedades de los símbolos, que podemos obtener con las funciones SymbolInfoString:
      • SYMBOL_COUNTRY — país de la compañía cuyas acciones se comercian en la bolsa.
      • SYMBOL_SECTOR_NAME — sector económico al que pertenece el instrumento. Por ejemplo: energía, finanzas, sanidad, etcétera.
      • SYMBOL_INDUSTRY_NAME — industria a la que pertenece el instrumento. Por ejemplo: ropa y accesorios deportivos, fabricación de automóviles, restauración, etcétera.
      Las propiedades se devuelven en forma de línea.

      El sector de la industria al que pertenece un instrumento también se puede obtener como valor de una enumeración. Para ello, solicite las siguientes propiedades con la ayuda de la función SymbolInfoInteger:
      • SYMBOL_SECTOR
      • SYMBOL_INDUSTRY

      Para trabajar con estas propiedades, se han añadido las enumeraciones ENUM_SYMBOL_SECTOR y ENUM_SYMBOL_INDUSTRY.

    3. Implementado un nuevo mecanismo de gestión de memoria en los programas MQL5. Este asigna la memoria hasta 3 veces más rápido. Asimismo, permite evitar una serie de errores potenciales de acceso a la memoria.
    4. Optimizado y significativamente acelerado el trabajo con la historia comercial con la ayuda de las funciones History*.
    5. Corregida la llamada de WebRequest desde el punto de entrada OnDeinit. Antes, al detener un experto, esta función no se llamaba.
    6. Corregida la llamada de WebRequest desde los servicios. Antes, la función podía no llamarse después de reiniciar un servicio.
    7. Añadida la comprobación del soporte por parte de un dispositivo del tipo double al usar OpenCL. En los cálculos financieros, el tipo float no es adecuado, debido al redondeo excesivo. Debido a ello, al realizar los cálculos, la plataforma exige explícitamente el soporte de double. Ahora, de no darse este, en el diario de la plataforma se mostrarán mensajes del tipo device '<name>' does not support type 'double'. Antes, en su lugar se mostraba un mensaje general de error.
    8. Acelerada significativamente la ejecución de la función AccountInfoDouble con los parámetros ACCOUNT_EQUITY y ACCOUNT_BALANCE.
    9. Corregido el error que surgía al aplicar una plantilla al gráfico con la ayuda de la función ChartApplyTemplate.
    10. Corregido el error de llamada de la función ChartSetInteger con el parámetro CHART_BRING_TO_TOP.
    11. Añadido un nuevo método Conjugate a la biblioteca Alglib incorporada. Este método permite el cálculo de números conjugados para números complejos. La biblioteca se encuentra en el directorio MQL5\Include\Math\Alglib.
    12. Perfilador de código completamente actualizado. El nuevo perfilador es mucho más rápido y preciso que el anterior.
      • Para realizar el análisis en el nuevo perfilador, se usa un código optimizado exactamente igual que el utilizado al compilar la versión de lanzamiento de un programa. Esto permite determinar con mayor precisión la velocidad de trabajo de un código, ya que precisamente este código se usará en el funcionamiento real de un programa.
      • El nuevo perfilador usa el método de perfilado "Sampling". Se trata de unn método ligero y preciso que reúne datos estadísticos sobre el funcionamiento de la aplicación: transcurridos ciertos intervalos temporales, se toman los datos sobre la pila de llamadas y, usándolos como base, se calcula el rendimiento.
      • A diferencia de la versión anterior, el nuevo perfilador no introduce ningún cambio en el código analizado. El método "Instrumentation" utilizado anteriormente, añadía al código determinadas construcciones que se usaban para medir la velocidad de funcionamiento de la función. Esto podía influir en la velocidad de trabajo del código final.
      Los trabajos de mejora del perfilador siguen su curso. Ls mejoras posteriores se publicarán en las próximas versiones de la plataforma.

    Tester

    1. Optimizado el trabajo con la red de cálculos en la nube MQL5 Cloud Network. Corregidos los errores de carga de los expertos por parte de los agentes.
    2. Añadido el nuevo criterio de optimización "Complex Criterion max". Se trata de un indicador compuesto sobre la calidad de las pasadas de optimización. Este tiene en cuenta varios parámetros al mismo tiempo:
      • Número de transacciones
      • Reducción
      • Factor de recuperación
      • Máx. esperanza matemática
      • Ratio de Sharpe

      El nuevo criterio permite entender que el valor máximo de un parámetro (por ejemplo, el beneficio) no siempre representa la mejor opción desde el punto de vista del análisis complejo. El criterio permite seleccionar paulatinamente las mejores pasadas: primero según el número de transacciones, después según la esperanza matemática de esta muestra, y luego según el factor de recuperación, etcétera. De esta forma, como resultado de la optimización, usted obtendrá las mejores pasadas según todos los parámetros, pudiendo seleccionar después alguna pasada concreta, por ejemplo, la que tenga mayor beneficio.

      Elija el nuevo criterio en los ajustes del simulador de estrategias e inicie la optimización.



      Como resultado de la optimización, el valor "Complex Criterion max" se mostrará en la columna aparte "Result". Podrá clasificar las pasadas en función del mismo. El nuevo criterio también da soporte al resaltado a color, permitiendo determinar visualmente las mejores pasadas. Los valores por debajo de 20 se iluminarán en rojo, mientras que los valores por encima de 80, lo harán en verde oscuro.



    3. Corregido el cálculo de las comisiones de usuario en el simulador de estrategias.

    MetaEditor

    1. Iniciada la revisión global de las funciones de gestión intelectual del código (IntelliSense).
      • Ahora, en las pistas se indica la signatura completa de la función, y no solo su nombre.
      • La fuente con la que se muestran las pistas ahora se toma de los ajustes del MetaEditor.
      Ls mejoras posteriores se publicarán en las próximas versiones de la plataforma.

    Documentación actualizada.

    123456789101112131415