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

¿Qué novedades tiene MetaTrader 5?

17 septiembre 2020

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.