MetaTrader 5 build 3440: Nuevo informe sobre la cuenta comercial

Añadido un nuevo informe sobre el historial de operaciones de la cuenta. En cuanto a su conjunto de parámetros y presentación de la información, es semejante a los informes ya conocidos sobre las Señales

17 septiembre 2022

Terminal

  1. Añadido un nuevo informe sobre el historial de operaciones de la cuenta. En cuanto a su conjunto de parámetros y presentación de la información, es semejante a los informes ya conocidos sobre las Señales. En la propia plataforma, ahora tendrá también a su disposición:
    • Los valores de crecimiento mensual en forma de gráfico y recuadro
    • Un gráfico del cambio de equidad
    • Un gráfico de radar que le permitirá evaluar rápidamente el estado de su cuenta
    • Estadísticas de las transacciones por instrumentos
    • Muchos indicadores adicionales para el análisis comercial

    Ahora, el informe podrá verse directamente en la plataforma, sin que haya que exportarlo primero a un archivo. Para abrirlo, clique en "Informes" en el menú "Ver".



  2. Corregido el rellenado del tablero de opciones cuando el número o el tipo de instrumento en los contratos Call y Put no coinciden.
  3. Corregida la selección incorrecta de la posición en la ventana de diálogo comercial al cerrar una posición con otra opuesta. El error se producía al clasificar las órdenes opuestas disponibles según cualquier columna que no fuera el ticket.
  4. Acelerada la muestra de entradas en el diario de registro de la plataforma.
  5. Corregida la representación de los comentarios en los gráficos de los símbolos de usuario.

MQL5

  1. Corregida la operación de la función CArrayList::LastIndexOf. Antes, siempre retornaba -1 en lugar del índice del último elemento encontrado.
  2. Añadido el método de vectores y matrices Assign. Este permite sustituir el contenido de una matriz/vector por los datos de la matriz/vector o array transmitidos.
    bool vector<TDst>::Assign(const vector<TSrc> &assign);
    bool matrix<TDst>::Assign(const matrix<TSrc> &assign);
    
    Ejemplo:
      //--- copying matrices
      matrix b={};
      matrix a=b;
      a.Assign(b);
      
      //--- copying an array to a matrix
      double arr[5][5]={{1,2},{3,4},{5,6}};
      Print("array arr");
      ArrayPrint(arr);
      b.Assign(arr);
      Print("matrix b \n",b);
    /*
    array arr
            [,0]    [,1]    [,2]    [,3]    [,4]
    [0,] 1.00000 2.00000 0.00000 0.00000 0.00000
    [1,] 3.00000 4.00000 0.00000 0.00000 0.00000
    [2,] 5.00000 6.00000 0.00000 0.00000 0.00000
    [3,] 0.00000 0.00000 0.00000 0.00000 0.00000
    [4,] 0.00000 0.00000 0.00000 0.00000 0.00000
    matrix b 
    [[1,2,0,0,0]
     [3,4,0,0,0]
     [5,6,0,0,0]
     [0,0,0,0,0]
     [0,0,0,0,0]]
    
    */

  3. Añadido el método de vectores y matrices CopyRates. Permite copiar fácilmente los arrays de datos de precios en vectores y matrices.
    bool matrix::CopyRates(string symbol,ENUM_TIMEFRAMES period,ulong rates_mask,ulong from,ulong count);
    bool vector::CopyRates(string symbol,ENUM_TIMEFRAMES period,ulong rates_mask,ulong from,ulong count);
    El tipo de datos a copiar se indica en el parámetro rates_mask usando la enumeración ENUM_COPY_RATES. Están disponibles los siguientes valores:
    COPY_RATES_OPEN
    COPY_RATES_HIGH
    COPY_RATES_LOW
    COPY_RATES_CLOSE
    COPY_RATES_TIME
    COPY_RATES_VOLUME_TICK
    COPY_RATES_VOLUME_REAL
    COPY_RATES_SPREAD
    COPY_RATES_OHLC
    COPY_RATES_OHLCT
    Los dos últimos valores sirven para seleccionar a la vez y de forma sencilla varios parámetros básicos de la barra: precios Open, High, Low, Close y la hora.

    Si se seleccionan varios tipos de datos (algo solo disponible para las matrices), el orden de las filas de la matriz se corresponderá con el orden de los valores en la enumeración.

  4. Corregida la representación de los objetos "Marca de texto". Al utilizar las propiedades OBJPROP_XOFFSET y OBJPROP_YOFFSET, podía mostrarse un fragmento de imagen incorrecto en el gráfico.

  5. Corregido el error de cambio de un parámetro constante transmitido a una función como referencia a un puntero de objeto.

    Recordemos que el especificador const declara una variable como constante y no permite cambiar el valor de esa variable en la ejecución del programa. Solo permite la inicialización única de la variable al realizarse su declaración. Ejemplo de constantes en la función OnCalculate:

    int OnCalculate (const int rates_total,      // price[] array size
                     const int prev_calculated,  // bars processed on previous call
                     const int begin,            // meaningful data starts at
                     const double& price[]       // array for calculation
       );
    

    Sin embargo, en el ejemplo siguiente, se encontró un error del compilador que permitía la conversión implícita de punteros para los parámetros de referencia:

    class A {};
    const A *a = new A;
    
    void foo( const A*& b )
      {
       b = a;
      }
    
    void OnStart()
      {
            A *b; 
            foo(b);  // no permitido
            Print( a,":",b );
      }
    Esta operación no válida será ahora detectada por el compilador y generará un error.

MetaEditor

  1. Corregida la representación de referencias a números complejos en el depurador.
  2. Mejorado el funcionamiento del MQL5 Cloud Protector. Antes, en raras ocasiones, la protección de archivos podía finalizar con un error.
  3. Correcciones de crash logs.


Nuevo terminal web de MetaTrader 5

Le presentamos el nuevo terminal web para MetaTrader 5. Lo hemos hecho más moderno y rápido, no solo actualizando su aspecto, sino también reescribiendo completamente el núcleo. En cuanto a su interfaz, el terminal web ahora se parece a la ya conocida versión de la plataforma para iPad:




En comparación con la versión anterior, tiene multitud de características nuevas:

  • Posibilidad de solicitar cuentas reales rellenando un formulario de registro detallado y proporcionando documentos de confirmación
  • Soporte de suscripción de datos de precios y posibilidad de recibir cotizaciones en diferido
  • Más objetos de análisis, con una gestión más cómoda
  • Visualización de las entradas y salidas del mercado en el gráfico
  • Representación en el gráfico de los eventos del calendario económico
  • Cómodo ajuste de instrumentos en la Observación de Mercado, visualización de los movimientos de precio diarios
  • La interfaz se ha simplificado considerablemente: hemos eliminado el menú contextual del gráfico y el menú superior; todos los comandos para la gestión del gráfico y la superposición de objetos e indicadores han sido colocados en los paneles izquierdo y superior; los comandos restantes se han colocado en un único menú-hamburguesa
  • Tema nocturno de la interfaz

Pruebe ahora el nuevo terminal web en www.mql5.com. Sus brókeres lo tendrán pronto a su disposición.