Versión beta de la plataforma MetaTrader 5 build 1700: Proyectos en el MetaEditor e instrumentos sintéticos

Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Versión beta de la plataforma MetaTrader 5 build 1700: Proyectos en el MetaEditor e instrumentos sintéticos
El 6 de diciembre de 2017 se lanzará la versión actualizada de la plataforma MetaTrader 5 en el modo beta. Vamos a actualizar nuestro servidor demo MetaQuotes-Demo, que se encuentra en la dirección access.metatrader5.com:443. Animamos a todos los traders a unirse a la puesta a prueba de la nueva versión de la plataforma, para chequear todas sus posibilidades de manera independiente y ayudar a los desarrolladores a corregir los posibles errores que se vayan localizando.
Para actualizar al nuevo build 1700 de la plataforma MetaTrader 5, basta con conectarse al servidor access.metatrader5.com:443.
Después de finalizar esta etapa de la puesta a prueba de la beta, se lanzará el build final de la nueva plataforma MetaTrader 5.
La nueva versión de la plataforma no dará soporte a los terminales de escritorio y móviles de las versiones antiguas:
Modificado el protocolo de trabajo con MQL5 Storage
Para dar soporte a los nuevos proyectos compartidos se ha modificado el protocolo de trabajo con el repositorio online MQL5 Storage. Por desgracia, después de actualizar a la nueva versión de la plataforma, usted deberá extraer (check-out) de nuevo todos los datos del repositorio. Los propios datos que se guardan en él no se tocarán ni perderán.
Antes de actualizar a la nueva versión de la plataforma, le recomendamos enviar todos los cambios locales al repositorio (ejecutar Commit).
La actualización contiene los siguientes cambios:
Ahora como proyecto no actúa el principal archivo MQ5 del programa. El proyecto es un archivo "MQPROJ" aparte, en el que se guardan los ajustes del programa, los parámetros de compilación y la información sobre todos los archivos utilizados. El acceso a los ajustes principales del proyecto se organiza a través de una ventana de diálogo aparte, ya no hay necesidad de indicarlos en el código fuente con la ayuda de #property.
Para trabajar más cómodamente con el proyecto, ahora existe una pestaña aparte en el Navegador. En esta se representan por categorías todos los archivos utilizados: de inclusión, de recursos, de encabezado, etc. Además, los archivos se añaden al navegador del proyecto de forma automática. Por ejemplo, si usted incluye un nuevo archivo MQH en el código, se mostrará automáticamente en el apartado "Dependencies" del navegador.
Hemos previsto directamente la posibilidad de trabajar con nuevos proyectos en el repositorio online MQL5 Storage. Ahora es posible trabajar cómodamente en el desarrollo de grandes proyectos junto a otros miembros de la comunidad MQL5.community.
Para trabajar en dichos proyectos compartidos, se ha añadido el nuevo apartado Shared Projects. El proyecto creado en este apartado se envía directamente al repositorio: usted podrá conceder derechos a otros miembros y proceder al desarrollo conjunto rápidamente.
Al compilar el proyecto en Shared Project, el archivo ejecutable EX5 se copia automáticamente en el catálogo local Experts, Indicators o Scripts, dependiendo del tipo de programa. Usted podrá iniciar directamente el programa en el gráfico, sin copiar los archivos manualmente cada vez.Cambios en el trabajo con el repositorio MQL5 Storage
Para implementar la posibilidad de trabajar con proyectos compartidos, se ha rehecho por completo el protocolo de trabajo con el repositorio MQL5 Storage. Por desgracia, después de actualizar a la nueva versión de la plataforma, usted deberá extraer (check-out) de nuevo todos los datos del repositorio. Los propios datos que se guardan en él no se tocarán ni perderán.
Nuevos proyectos: ejemplo de creación y detalles del funcionamiento
En el MetaEditor ahora existe un nuevo elemento: el proyecto propiamente dicho. Se trata de un archivo con la expansión mqproj, en el que se guardan las propiedades generales del programa, así como información sobre todos los archivos utilizados. Ahora es posible gestionar cómodamente las propiedades del programa en una ventana de diálogo propia del MetaEditor, sin tener que modificarlas manualmente en el código fuente (directivas #property).
Si usted ya dispone de desarrollos, el método más sencillo de probar los nuevos proyectos es usar el comando "Nuevo proyecto a partir de un Archivo fuente".
En el mismo catálogo que se encuentra el archivo fuente, se creará un archivo de proyecto homónimo con la expansión mqproj. Al proyecto se añadirán de forma automática las propiedades principales del programa, indicadas como #property en el archivo fuente: el nombre, el copyright, la versión, el enlace al desarrollador y la descripción.
En las propiedades de los proyectos han aparecido dos nuevas opciones para compilar programas MQL5:Para trabajar con un proyecto se ha diseñado la pestaña aparte "Proyecto", en la ventana "Navegador". En esta pestaña se muestran cómodamente todos los archivos usados en el proyecto. Al generar el proyecto a partir de un archivo fuente, se añaden automáticamente al apartado "Dependencies" todos los archivos de inclusión utilizados (indicados con la ayuda de la directiva #include en el archivo MQ5 principal y en todos los archivos incluidos en él).
Al añadir nuevos archivos de inclusión al código fuente, dichos archivos también aparecerán en el Navegador del proyecto. En el apartado Headers se añadirán los archivos de encabezado utilizados, y en el apartado Resources, las imágenes, sonidos y otros programas MQL5 incluidos en el proyecto en forma de recursos. En el apartado Sources se muestran los archivos MQ5 con el código fuente. Al apartado Settings and files podemos añadir otros archivos, por ejemplo, los ajustes para la simulación y las plantillas para los gráficos.
Para añadir los archivos existentes al proyecto y eliminar archivos del mismo, use los comandos del menú contextual. Preste mucha atención al eliminar archivos: usted puede quitar un archivo del proyecto (suprimir la vinculación) o eliminarlo completamente del disco duro:

Crear un nuevo proyecto es igual de fácil que crear un programa MQL5 normal. Pulse "Nuevo proyecto" y, en el Wizard de MQL5 en el modo normal, elija el tipo de programa a crear, indicando también sus propiedades (nombre, manejador de eventos, etc).Para obtener un archivo ejecutable EX5, usted podrá abrir el proyecto y ejecutar el comando de compilación (F7) o, como antes, abrir el archivo MQ5 principal del programa y compilarlo.
Proyectos compartidos en MQL5 Storage: detalles del funcionamiento
Para trabajar con proyectos compartidos, se ha diseñado el apartado Shared Projects. Si usted aún no ha activado el repositorio, ejecute en el menú contextual de esta carpeta el comando Activate MQL5 Storage. El MetaEditor comprobará de inmediato si hay datos guardados en su repositorio, y también si hay disponible para usted algún proyecto compartido. Los datos disponibles se extraerán instantáneamente del repositorio y luego serán cargados en la computadora (Checkout). Los proyectos compartidos disponibles se mostrarán en el apartado Shared Project, para obtenerlos, pulse "Extraer archivos del repositorio" en el menú contextual.
Para crear un nuevo proyecto compartido, elija la carpeta Shared Projects y pulse "Nuevo proyecto":

A continuación, siga los pasos estándar del Wizard MQL5: indique el tipo, el nombre y las propiedades del futuro programa. Elija para los proyectos compartidos nombres claros y comprensibles, para que los demás miembros puedan distinguirlos fácilmente. En los nombres solo se permiten letras latinas, no están permitidos los espacios en blanco.Una vez creado, el proyecto se añadirá automáticamente al repositorio MQL5 Storage. Los archivos utilizados de la biblioteca estándar no son añadidos al repositorio, podrá añadirlos manualmente en caso necesario.
Para permitir trabajar en el proyecto a los otros integrantes, abra las propiedades del mismo. Aquí podrá conceder derechos a usuarios concretos (indicando el login de MQL5.community), y también establecer los parámetros generales del trabajo cooperativo:

Para trabajar con mayor comodidad, al compilar un proyecto compartido, el archivo ejecutable final (EX5) se copia de forma automática en la carpeta Experts, Indicators o Scripts, dependiendo del tipo de programa. De esta forma, usted podrá iniciar directamente el programa en el terminal, sin copiarlo manualmente al catálogo necesario.Cómo sucede esto
Nota: en la fórmula original del índice del dólar se usan las parejas USDEUR y USDGBP. Puesto que en la plataforma solo hay parejas de divisas inversas, en la fórmula del instrumento sintético para ellas se usa la potencia negativa y el precio Ask en lugar de Bid.
La plataforma calculará en tiempo real el precio del nuevo instrumento basándose en las cotizaciones de los otros seis instrumentos, proporcionados por su bróker. En la Observación del mercado y en el gráfico, podrá ver cómo cambiar su precio:

Cree un nuevo instrumento personalizado, abra sus especificaciones e indique la fórmula:

Para mayor comodidad, el editor de fórmulas muestra una lista con las posibles variantes a medida que se introduce el nombre de los instrumentos y funciones.El cálculo de los ticks y las barras de minuto del instrumento sintético comienza al añadirlo a la "Observación del mercado". En este caso, a la "Observación del mercado" se añaden todos los símbolos necesarios para su cálculo. Al diario de la plataforma se añadirá una entrada sobre el comienzo del cálculo: Synthetic Symbol USDX: processing started.
Cálculo de las cotizaciones en tiempo real
Cada 100 ms (diez veces por segundo) se comprueba si ha cambiado el precio de aunque sea uno de los instrumentos que participa en la fórmula. De ser así, tendrá lugar el recálculo del precio del instrumento sintético y se generará un tick. El cálculo se realiza paralelamente en tres flujos para los precios Bid, Ask y Last. Por ejemplo, si en la fórmula se indica EURUSD*GBPUSD, el cálculo de los precios del intrumento sintético será el siguiente:
La presencia de cambios se comprueba para cada precio por separado. Por ejemplo, si al darse el cálculo cambia solo el precio Bid del instrumento fuente, entonces para el tick del instrumento sintético se calculará solo el precio donde ha habido cambios.
Construcción de la historia de barras de minuto
Aparte de recopilar los ticks en tiempo real, la plataforma crea también la historia de minutos del instrumento sintético. De este modo, el tráder puede mirar sus gráficos de una forma análoga a los instrumentos convencionales, para llevar a cabo el análisis técnico con la ayuda de objetos e indicadores.
En cuanto el tráder añade un instrumento sintético a la Observación del mercado, la plataforma comprueba si existe historia de minutos calculada para él. De no ser así, esta se creará para los últimos 60 días, es decir, unas 50 000 barras. Si, en los ajustes de la plataforma, en el parámetro barras máximas en la ventana se indica un valor menor, se usará precisamente esta limitación.
Si una parte de las barras de este periodo ya ha sido construida, la plataforma creará las nuevas barras que falten. La historia más profunda se crea solo al intentar visualizar el periodo temporal correspondiente en el gráfico (al pasarlo hacia atrás o solicitar la historia de un programa MQL5).
La historia de las barras de minuto de los instrumentos sintéticos se calcula usando como base las barras de minuto (no los ticks) de los instrumentos incluidos en la fórmula. Por ejemplo, para calcular el precio Open de la barra de minuto de un instrumento sintético, la plataforma toma el precio de los instrumentos Opеn incluidos en su fórmula. El cálculo de los precio High, Low y Close se realiza de forma análoga.
Si para algún instrumento de la fórmula no está presente la barra de minuto correspondiente, la plataforma tomará para el cálculo el precio Close de la barra anterior. Por ejemplo, se usan tres instrumentos: EURUSD, USDJPY y GBPUSD. Si al calcular la barra correspondiente al minuto 12:00, para el instrumento USDJPY no está presente esta barra de minuto, al realizar el cálculo se usarán los precios siguientes:
Si la barra de minuto no está presente en ninguno de los instrumentos de la fórmula, no se calculará la barra de minuto correspondiente del instrumento sintético.
Construcción de las nuevas barras de minuto
Todas las nuevas barras (la presente y las siguientes) del instrumento sintético se crean usando como base los ticks generados. El precio al que se construyen las barras depende del parámetro "Construcción de gráficos" en las especificaciones:
Qué operaciones se pueden utilizar en la fórmula del instrumento
En la fórmula se pueden utilizar los datos de precio, así como ciertas propiedades de los símbolos disponibles (proporcionados por el bróker). Para ello, indique:
Existe cierta prioridad de ejecución para las operaciones aritméticas:
Asimismo, en la fórmula se pueden utilizar constantes:
Además, en la fórmula se pueden usar todas las funciones matemáticas utilizables en MQL5, excepto MathSrand, MathRand y MathIsValidNuber. Para todas las funciones se usan solo los nombres cortos: fabs(), acos(), asin(), etcétera.
La función CustomTicksAdd permite retransmitir los ticks como si llegaran del servidor del bróker. Los datos se registran directamente en la base de ticks, y luego se envían a la ventana "Observación del mercado". Y ya desde ella, el terminal guarda los ticks en su base. Si se transmite un gran volumen de datos en una llamada, la función cambia su comportamiento para ahorrar recursos. Si se transmiten más de 256 ticks, los datos se dividen en dos partes. La primera parte (la más grande) se registra directamente en la base de ticks (como hace CustomTicksReplace). La segunda parte, compuesta de los últimos 128 ticks, se transmite a la ventana de "Observación de mercado" y, después de ello, se guarda en la base del terminal.
Ahora todos pueden disponer de un nivel de protección como el del Mercado. Basta con ejecutar el comando Servicio — MQL5 Cloud Protector en el MetaEditor. La única diferencia de esta protección con respecto a la del Mercado consiste en que no se vincula a la computadora del usuario. Los archivos protegidos con MQL5 Cloud Protector se pueden iniciar en cualquier computadora, como los archivos EX5 normales.
Para los instrumentos cuyos gráficos se construyen según los precios Bid (como se indica en las especificaciones), se muestran los precios Bid High y Bid Low. Para los instrumentos cuyos gráficos se construyen según los precios Last, se muestran Last High y Last Low.
Junto con las columnas High/Low se activará automáticamente la columna Last, si en la Observación del mercado hay aunque sea un solo instrumento cuyos gráficos se construyan con los precios Last.

Para mayor comodidad, los cambios de las entradas se iluminan:Para guardar los cambios, pulse "Aplicar cambios" en la parte inferior de la ventana.
La función adopta matrices dinámicas de idéntico tipo e idénticas dimensiones. Para las matrices multidimensionales, deberá coincidir el número de elementos en todas las dimensiones, excepto la primera.

Con la ayuda de este mismo menú, es posible añadir con facilidad archivos en forma de matriz binaria o de texto al código del programa. Usted podrá, por ejemplo, trasladar las plantillas de los gráficos junto con los expertos/indicadores: incluya su plantilla en el código del programa en forma de matriz, a continuación, con la ayuda de la función FileSave, guárdela en el disco. Después de ello, la plantilla se podrá aplicar al gráfico directamente desde el experto con la ayuda de la función ChartApplyTemplate.La actualización estará disponible a través del sistema LiveUpdate.