MetaTrader 5 build 2265: Funciones DirectX para visualización 3D en MQL5 y ajuste de instrumentos en el simulador de estrategias

Lista ampliada de columnas disponibles en la Observación de mercado. Ahora, en el apartado principal, usted podrá activar hasta 40 parámetros adicionales de instrumentos que antes estaban disponibles solo en la pestaña "Detalles"

6 diciembre 2019

Terminal

  1. Lista ampliada de columnas disponibles en la Observación de mercado. Ahora, en el apartado principal, usted podrá activar hasta 40 parámetros adicionales de instrumentos que antes estaban disponibles solo en la pestaña "Detalles".




  2. Añadido el resaltado de la cuenta actualmente conectada y el servidor actual en el Navegador. La función le resultará útil si usted utiliza muchas cuentas con brókeres diferentes.




  3. Actualizado el diseño de los marcos de los gráficos. Ahora son más compactos, liberando más espacio para la información útil.




  4. Modificado el algoritmo de cálculo del total de trading al representar la historia comercial en forma de posiciones. Ahora, estos se calculan según los registros reales.

    Para presentar la historia en forma de posiciones, el terminal usa la información sobre las transacciones realizadas en el periodo del que se ha solicitado la historia. En este caso, se muestran solo las posiciones que han sido cerradas en este periodo. Si una posición aún no ha sido cerrada, o su hora de cierre no entra en el intervalo seleccionado, no se representará. En relación con esto, los indicadores finales (beneficio, comisión) al mirar las posiciones y al mirar las órdenes/transacciones pueden diferenciarse.

    Por ejemplo, usted está mirando la historia de la última semana. En dicho periodo se han realizado 100 transacciones, 98 de las cuales han abierto y cerrado 20 posiciones. Las dos últimas transacciones han abierto nuevas posiciones que no se han cerrado aún. En este caso, al mirar la historia en forma de transacciones, usted verá 100 entradas, así como los indicadores totales calculados sobre su base. Al mirar la historia en forma de posiciones, usted verá 20 entradas recopiladas sobre la base de 98 transacciones. Y precisamente estos datos se tendrán en cuenta al calcular los indicadores finales. Si el bróker cobra una comisión de las transacciones de entrada, la suma final de la comisión al mirar la historia de transacciones y de posiciones será distinta, ya que, en el último caso, las dos últimas transacciones no serán tenidas en cuenta.

  5. Acelerado el inicio de los programas MQL5.
  6. Añadida la clave /beta para el archivo de instalación del terminal. Esta permite cargar la versión beta del programa en lugar de la versión de lanzamiento. En el modo habitual, para obtener la versión beta primero es necesario instalar la versión de lanzamiento, y ya después actualizarla. Ahora podemos omitir este paso, ahorrando tiempo y tráfico. Ejemplo de inicio de la instalación:
    C:\mt5setup.exe /beta
  7. Corregido el error en la representación de los requerimientos de margen para las acciones bursátiles (instrumentos con el tipo "Exchange Stocks").
  8. Acelerado el funcionamiento de los componentes de la plataforma gracias al uso del compilador Clang/LLVM. En algunos casos, el aumento de velocidad alcanza el 20%.

MQL5

  1. Añadidas nuevas funciones y sombreadores DirectX 11 para la visualización 3D. Ahora, usted podrá crear un potente gráfico en tres dimensiones directamente en MQL5.

    La nueva clase CCanvas3D es una expansión de la clase de gráfico de usuario CCanvas. Está disponible en el directorio \MQL5\Include\Canvas\. En él si implementan las funciones para renderizar objetos en tres dimensiones a través de DirectX API.

    • Create — crear una escena.
    • Attach — vincular una escena al gráfico.
    • Destroy — eliminar una escena.
    • ObjectAdd — añadir un objeto heredero de la clase básica CDXObject a una escena.
    • Render — ciclo completo de renderización con limpiado de búferes y renderización de todos los CDXObject añadidos con la ayuda del método ObjectAdd.
    • RenderBegin — comienza la renderización de la escena, rellena el búfer de representación con el color indicado (si usamos la bandera DX_CLEAR_COLOR) y los búferes de profundidad (si usamos DX_CLEAR_DEPTH), asimismo, establece el búfer de escena DXInputScene para los sombreadores por defecto.
    • RenderEnd — finaliza la renderización de la escena y obtiene el resultado en el búfer interno. Con redraw==true, muestra la imagen en el gráfico al que está fijado.
    • ViewMatrixGet — obtener la matriz de visualización.
    • ViewMatrixSet — establecer la matriz de visualización. La matriz no es compatible con los métodos ViewPositionSet, ViewRotationSet, ViewTargetSet, ViewUpDirectionsSet.
    • ViewPositionSet — establecer la posición de la cámara.
    • ViewRotationSet — establecer la matriz de rotación de la cámara.
    • ViewTargetSet — establecer el punto al que la cámara se encuentra apuntada. Junto con ViewUpDirectionsSet, es una alternativa a ViewRotationSet.
    • ViewUpDirectionsSet — establecer la posición vertical de la cámara. Junto con ViewTargetSet, es una alternativa a ViewRotationSet.
    • ProjectionMatrixGet — obtener la matriz de proyección.
    • ProjectionMatrixSet — establecer la matriz de proyección.

    En breve estará disponible la documentación completa sobre la nueva biblioteca.




  2. Añadido el soporte de operaciones con las bases de datos SQLite directamente desde MQL5. Ahora, usted podrá ejecutar fácilmente solicitudes SQL sin crear envoltorios complejos. La nueva expansión de la biblioteca estándar asume todo el trabajo interno.

    Están disponibles las siguientes funciones:

    • DatabaseOpen — abre o crea una base de datos en el archivo indicado
    • DatabaseClose — cierra una base de datos
    • DatabaseTableExists — comprueba la presencia de un recuadro en la base de datos
    • DatabaseExecute — ejecuta una solicitud a la base de datos indicada
    • DatabasePrepare — crea el manejador de una solicitud, que después puede ser ejecutada con la ayuda de DatabaseRead()
    • DatabaseRead — ejecuta el paso a la siguiente entrada en el resultado de la solicitud
    • DatabaseFinalize — elimina la solicitud creada en DatabasePrepare()
    • DatabaseTransactionBegin — comienza la ejecución de una transacción
    • DatabaseTransactionCommit — finaliza la ejecución de una transacción
    • DatabaseTransactionRollback — ejecuta el retroceso de una transacción
    • DatabaseColumnsCount — obtiene el número de campos en una solicitud
    • DatabaseColumnName — obtiene el nombre de un campo según el número
    • DatabaseColumnType — obtiene el tipo de un campo según el número
    • DatabaseColumnSize — obtiene el tamaño del campo en bytes
    • DatabaseColumnText — obtiene de la entrada actual el valor del campo en forma de línea
    • DatabaseColumnInteger — obtiene de la entrada actual un valor del tipo int
    • DatabaseColumnLong — obtiene de la entrada actual un valor del tipo long
    • DatabaseColumnDouble — obtiene de la entrada actual un valor del tipo double
    • DatabaseColumnBlob — obtiene de la entrada actual el valor del campo en forma de matriz

    Para trabajar con las funciones se han añadido los siguientes códigos de errores:

    • ERR_MQL_DATABASE_INTERNAL (5120) — error interno en la base de datos
    • ERR_MQL_DATABASE_INVALID_HANDLE (5121) — manejador no válido de la base de datos
    • ERR_MQL_DATABASE_TOO_MANY_OBJECTS (5122) se ha superado el número máximo permitido de objetos Database
    • ERR_MQL_DATABASE_CONNECT (5123)error al conectarse a la base de datos
    • ERR_MQL_DATABASE_EXECUTE (5124) error de ejecución de la solicitud
    • ERR_MQL_DATABASE_PREPARE (5125) error al crear la solicitud
    • ERR_MQL_DATABASE_NO_MORE_DATA (5126) — ya no hay más datos para la lectura
    • ERR_MQL_DATABASE_STEP (5127) error al pasar a la siguiente entrada de la solicitud
    • ERR_MQL_DATABASE_NOT_READY (5128) los datos para leer los resultados de la solicitud aún no están preparados
    • ERR_MQL_DATABASE_BIND_PARAMETERS (5129) error al realizar la autosustitución de los parámetros en la solicitud SQL

  3. Añadida una nueva propiedad de los programas MQL5 para seleccionar el método de visualización por defecto.
    #property optimization_chart_mode "3d,InpX,InpY"
    Al usarla, usted podrá establecer el tipo de gráfico abierto al finalizar la optimización, así como los parámetros del programa para su eje X e Y.

    La propiedad establece solo el aspecto del gráfico por defecto. El usuario puede cambiarlo manualmente en cualquier momento a través del menú contextual.

  4. Añadida la función MathArctan2. Esta retorna en radianes el valor del ángulo cuya tangente es igual a la razón de las dos cifras indicadas.
    double  MathArctan2(
       double  y      // coordenada y del punto
       double  x      // coordenada x del punto
       );
  5. Realizada la optimización general de los programas para mejorar el rendimiento y reducir el gasto de recursos.
  6. Añadidos varios ejemplos de cálculos matemáticos que se pueden ejecutar en el simulador de estrategias. Podrá encontrarlos en el directorio \MQL5\Experts\Examples\Math 3D\.
  7. Implementado un control más estricto del ámbito de espacio de nombres (namespaces).
  8. Añadida la carga de bibliotecas conectadas al usar las bibliotecas .NET en los programas MQL5. Si la biblioteca .NET utilizada necesita otras bibliotecas para su funcionamiento, el compilador intentará cargarlas automáticamente desde el directorio actual o desde el directorio \MQL5\Libraries.
  9. Corregidas las operaciones con la hora en el módulo MetaTrader para la integración con Python. Ahora, en todos los datos de salida se usa la hora del servidor comercial al que está conectado el terminal.

Tester

  1. Multitud de nuevas funciones y mejoras en el simulador de estrategias:


    Ajustes personalizados para los instrumentos financieros
    Ahora, usted podrá cambiar los ajustes del instrumento comercial principal en el que se realiza la simulación/optimización. Tendrá a su alcance prácticamente todos los parámetros de especificación: volumen, modo comercial, requerimientos de margen, modo de ejecución y mucho más. De esta manera, a la hora de poner a prueba un asesor en otras condiciones comerciales, no será necesario crear un símbolo personalizado y cargar toda la historia en él. Solo tendrá que cambiar los ajustes del instrumento estándar.



    Al cambiar las especificaciones del símbolo, el icono de ajustes, así como el icono del propio símbolo, se destacarán con un asterisco. De esta forma, usted siempre sabrá que la simulación se está realizando con los ajustes personalizados.




    Últimos ajustes/expertos/gráficos
    Para configurar rápidamente la simulación o la optimización, use los nuevos comandos del menú contextual. Elija los últimos ajustes, gráficos o programas utilizados para el simulador:




MetaEditor

  1. Añadida la posibilidad de trabajar con proyectos С/С++ y Python directamente desde MetaEditor. Ahora, al usar el editor incorporado, usted podrá gestionar proyectos multilingües.

    Si en su computadora ya han sido instalados los compiladores correspondientes, MetaEditor los detectará y los añadirá a los ajustes. Además, usted podrá indicar por sí mismo las rutas a los componentes necesarios, entrando en la pestaña "Compiladores". Si los componentes aún no han sido instalados, podrá descargarlos pulsando "Instalar" junto al campo adecuado.




    Después de ello, podrá trabajar con proyectos en С/С++ y Python, de la misma forma que se hace con los programas MQL5.

  2. Ahora, dentro del directorio Shared Projects destinado al trabajo con proyectos grupales a través de MQL5 Storage, es posible crear sub-proyectos. Antes, solo se permitía la creación de proyectos individuales en el nivel superior.
  3. Actualizado el depurador incorporado.
  4. Corregida la adición del encabezado de las funciones al usar el estilizador de código.
  5. Los comandos de paso a la posición anterior y posterior del cursor ahora están disponibles no solo en el menú "Ver", sino también el panel de instrumentos.
  6. Ahora, en los nombres de los proyectos está permitido usar el espacio.

Android

  1. Añadida la posibilidad de paso rápido al ingreso/retirada de fondos de la cuenta comercial en el sitio web del bróker.

    Ahora, no deberá buscar las funciones correspondientes en el perfil personal en el sitio web del bróker. Los comandos de paso rápido a las páginas de ingreso de fondos y retirada de fondos ahora están disponibles directamente en el terminal, en el menú de cuentas y comercio:



    • Los comandos de ingreso/retirada estarán disponibles en el caso de que las funciones correspondientes se encuentren activadas para la cuenta comercial en el lado del bróker.
    • El terminal comercial no realiza ninguna operación de ingreso/retirada de fondos desde la cuenta. Las funciones incorporadas solo redireccionan al usuario hacia las páginas web correspondientes de la compañía de corretaje.

  2. Ahora, las posiciones en la historia se clasifican según la fecha de cierre.
  3. Las posiciones cerradas por Stop Loss y Take Profit ahora se destacan con líneas verticales rojas y verdes en el apartado de la historia.
  4. Añadidos nuevos campos a las especificaciones del instrumento comercial:

    • Categoría: la propiedad se usa para marcar adicionalmente los instrumentos financieros. Por ejemplo, en él se pueden indicar los sectores del mercado a los que pertenece un símbolo: Agriculture, Oil & Gas, etcétera. Se mostrará solo si el bróker ofrece la información correspondiente.
    • Bolsa: aquí se indica el nombre de la bolsa o plataforma en la que se comercia con el símbolo. Se mostrará solo si el bróker ofrece la información correspondiente.

  5. Añadida la indicación del estado "Margin call" en el apartado de comercio. Si se da este estado, los parámetros "Margen", "Margen libre" y "Nivel de margen" se pondrán en rojo.
  6. Corregida la representación del botón de paso al apartado de contraseñas de un solo uso en las tabletas.
  7. Multitud de mejoras y correcciones.

iPhone/iPad

  1. Añadida la posibilidad de paso rápido al ingreso/retirada de fondos de la cuenta comercial en el sitio web del bróker. Los detalles del funcionamiento se muestran más arriba, en la descripción de los cambios del terminal para Android.



  2. Añadido el soporte del modo oscuro para iOS/iPadOS.
  3. El apartado de trabajo con contraseñas OTP ahora está disponible también en la versión para iPad.
  4. Las posiciones cerradas por Stop Loss y Take Profit ahora se destacan con líneas verticales rojas y verdes en el apartado de la historia.
  5. Ahora, las posiciones en la historia se clasifican según la fecha de cierre. Si una posición aún no ha sido cerrada, para la clasificación se usará su fecha de apertura.
  6. Multitud de mejoras y correcciones.