MetaTrader 5 build 3800: órdenes Book or Cancel, ayuda de IA al escribir código y soporte ampliado de ONNX

En la nueva versión, hemos añadido el soporte de órdenes Book or Cancel. Dichas órdenes solo se pueden colocar en la profundidad de mercado, pero no se pueden ejecutar de inmediato. Se usan para implementar el comercio pasivo en la bolsa

8 junio 2023

Terminal

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



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

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

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

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

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



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



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


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

MQL5

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




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

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

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

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

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

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

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

MetaEditor

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

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

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




    Ajustes de pago:

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

    Configuración de solicitudes:

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

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

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



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

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


    Formatos compatibles:

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

  4. Actualizadas las traducciones de la interfaz de usuario.

Simulador

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

Correcciones de crash logs.

Web Terminal

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

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




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

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

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

MQL5.community

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

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




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



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

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

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