Ayuda de MetaEditorProyectos y MQL5 StorageCrear un proyecto y trabajar con el mismo

Crear un proyecto y trabajar con el mismo

El MetaEditor le permite trabajar cómodamente con proyectos grandes: combine varios archivos en una sola estructura, administre la configuración del proyecto y colabore con un equipo de programadores a través del repositorio en línea con versiones de MQL5 Storage.

¿Qué es un proyecto?

Un proyecto es un archivo aparte con la extensión "MQPROJ" que almacena la configuración del programa, los parámetros de compilación y la información sobre todos los archivos utilizados. Para trabajar cómodamente con el proyecto, se dispone de una pestaña aparte en el navegador. En ella se muestran por categorías todos los archivos utilizados: de inclusión, de recursos, de encabezado, etcétera.

Estructura y configuración del proyecto

Crear proyecto #

Crear un nuevo proyecto es tan fácil como crear un programa MQL5 normal. Haga clic en "Nuevo proyecto", y luego en el Wizard MQL5, seleccione el tipo de programa que se creará:

Creando un nuevo proyecto

A continuación, siga los pasos estándar del Wizard MQL5: especifique el tipo, el nombre y las propiedades del futuro programa, y seleccione los manejadores de eventos apropiados.

El wizard también permite crear proyectos vacíos. Esto resulta muy útil para realizar desarrollos no estándar con nuestra propia estructura de archivos, cuando las plantillas predeterminadas no son adecuadas. En este caso, solo se crea un archivo de ajustes "mqproj" vacío. Los archivos para el código fuente deberán ser creados por usted mismo.

Crear un proyecto basado en un archivo MQ5 #

Si ya dispone de desarrollos en forma de archivos MQ5, podrá convertirlos fácilmente en proyectos. Para ello, seleccione el archivo y haga clic en "Nuevo proyecto a partir de un archivo fuenteNuevo proyecto a partir de un archivo fuente" en su menú contextual:

Crear un nuevo proyecto basado en un archivo fuente

Se creará un archivo de proyecto con el mismo nombre con la extensión mqproj, en el mismo catálogo que el archivo fuente seleccionado. Las principales propiedades del programa se añaden automáticamente al proyecto, indicadas como #property en el archivo fuente: nombre, copyright, versión, enlace al desarrollador y descripción. Todos los archivos incluidos en el código fuente con la ayuda de la directiva #include se añadirán a la sección "Dependencies" del proyecto.

Propiedades del proyecto #

El acceso a la configuración principal del proyecto se organiza a través de un cuadro de diálogo independiente, y no a través de la edición del código fuente, como se hace al trabajar con archivos MQ5 individuales. Para abrir la configuración del proyecto, haga clic en "Propiedades del proyecto Propiedades" en su menú contextual. Para el proyecto están disponibles las siguientes configuraciones:

  • Plataforma – versión de la plataforma para la que se desarrolla el producto: MetaTrader 4 o MetaTrader 5.
  • Tipo de programa – tipo de programa: asesor (robot comercial), indicador, script o biblioteca.
  • Copyright – información sobre el copyright, similar a la propiedad "#property copyright ..." en el código fuente.
  • Enlace – enlace a la página del desarrollador, similar a la propiedad "#property link ..." en el código fuente.
  • Versión – versión del programa, similar a la propiedad "#property version ..." en el código fuente.
  • Icono – icono del programa, similar a la propiedad "#property icon ..." en el código fuente.
  • Descripción – descripción del programa, similar a la propiedad "#property description ..." en el código fuente.
  • Activar optimización adicional – las aplicaciones con optimización desactivada se compilan con mayor rapidez, pero funcionan más despacio.
  • Verificar los divisores reales – las aplicaciones con la comprobación desactivada funcionan a mayor velocidad, ya que los errores de división por cero no se verifican al ejecutarse el código.
  • Usar la caché de optimización – al ejecutar la optimización, el simulador de estrategias guarda en la caché todos los resultados de las pasadas realizadas. Los resultados se guardan para cada conjunto de parámetros de entrada. Esto permite tomar los resultados preparados al realizar de nuevo una optimización con los mismos parámetros, sin invertir tiempo en realizar nuevos cálculos.
    Pero, para algunas tareas — por ejemplo, con los cálculos matemáticos — podría ser necesario realizar los cálculos independientemente de que haya resultados preparados. En este caso, desactive en el proyecto la opción "Usar caché de optimización". En este caso, además, los resultados de la simulación se guardarán de todas formas en la caché, para que usted pueda consultar en el informe del simulador de estrategias todos los datos de las pasadas ejecutadas.
  • El cálculo de indicadores en cada tick en el simulador es una opción que solo se encuentra disponible para los proyectos de indicadores. Esta los incluye forzosamente en cada tick al trabajar en el simulador de estrategias. La opción se refiere solo al trabajo en el simulador de estrategias, en el terminal, los indicadores siempre se calculan en cada tick entrante.Cuando usted pone a prueba expertos que usan indicadores, el simulador de estrategias calcula los valores de los indicadores solo al recurrir a ellos por los datos, es decir, solo en el momento en el que se solicitan los valores de los búferes de indicador. Esto proporciona un aumento de velocidad considerable al realizar la simulación y la optimización, si no es necesario obtener los valores del indicador en cada tick. Si el cálculo de los indicadores en cada tick es obligatorio, active para ellos está función.
    Los indicadores en el simulador de estrategias también se calculan forzosamente en cada tick en los siguientes casos:
  • al realizar la simulación en el modo visual
  • si en el indicador se encuentran las funciones EventChartCustom, OnChartEvent, OnTimer
  • si el indicador ha sido creado por un compilador con un número de build inferior al 1916

Las propiedades del programa en el archivo de proyecto tienen prioridad sobre las propiedades especificadas en el código fuente. Si especifica propiedades tanto en el proyecto como en el código fuente, se usarán las propiedades del proyecto.

Agregar y eliminar archivos de un proyecto #

Los archivos utilizados en el código fuente se agregan automáticamente al navegador del proyecto. Por ejemplo, si incluye un nuevo archivo MQH al código usando directivas #include, se mostrará automáticamente en la sección "Dependencies" del navegador. En la sección "Headers", se añaden los archivos de encabezado usados, y en la sección "Resources", las imágenes, sonidos y otros programas MQL incluidos en el proyecto en forma de recursos (directiva #resource).

En la sección "Sources", se muestran los archivos MQ5 con el código fuente. En la sección Settings and files, podrá agregar otros archivos, como configuraciones de prueba o plantillas para gráficos.

Para agregar archivos existentes al proyecto manualmente y eliminar archivos del mismo, use los comandos del menú contextual. Tenga cuidado al eliminar archivos, podría borrar el archivo del proyecto (eliminar el enlace) o eliminarlo por completo del disco duro:

Agregar y eliminar archivos de un proyecto

El comando "Añadir carpeta existente" permite añadir de forma masiva al proyecto todos los archivos soportados desde el directorio seleccionado.

Al agregar un archivo al proyecto manualmente, dicho archivo no se incluye de ninguna manera en el código del programa y no se copia al catálogo del proyecto. El archivo solo está vinculado al proyecto para mostrarlo en su navegador.

Compilando el Proyecto #

Para obtener el archivo ejecutable EX5, abra el proyecto o el archivo principal MQ5 del programa y luego ejecute el comando de compilación (F7). El archivo ejecutable se creará en el mismo catálogo que el archivo de proyecto "MQPROJ".

Proyectos grupales #

El MetaEditor permite desarrollar aplicaciones de forma conjunta con un equipo de programadores. Para ello, en el editor se integra directamente el repositorio MQL5 Storage:

  • Almacenamiento de versión: siempre podrá ver quién realizó los cambios y, si es necesario, deshacerlos.
  • Acceso al proyecto en línea: usted y otros participantes del proyecto tendrán acceso al proyecto desde cualquier computadora a través de la cuenta. MQL5.community.
  • Notificaciones sobre cambios en el proyecto: esté al tanto de cualquier cambio en los archivos o en los ajustes del proyecto. Para recibir notificaciones en su teléfono móvil, indique su MetaQuotes ID en el apartado "Ajustes \ Seguridad" de su perfil en MQL5.community. La comunicación con el equipo se puede organizar en el chat grupal.
  • Usted mismo determinará los derechos de los participantes: visualización o edición.
  • Usted podrá liderar proyectos públicos con participación libre y encontrar fácilmente gente de ideas afines: todos los proyectos públicos disponibles se muestran en una pestaña separada del MetaEditor, cualquiera puede solicitar la participación desde esta.

Para los proyectos grupales, se contempla la sección Shared Projects. Si aún no ha activado el repositorio, ejecute el comando Activate MQL5 Storage en el menú contextual de esta carpeta. El MetaEditor verificará inmediatamente si hay datos guardados en su repositorio y si hay proyectos grupales disponibles para usted. Los datos existentes se extraerán inmediatamente del repositorio y se descargarán a la computadora. Los proyectos grupales disponibles se mostrarán en la sección Shared Projects; para obtenerlos, haga clic en "Extraer archivos del repositorio" en el menú contextual.

Para crear un nuevo proyecto de grupo, seleccione la carpeta Shared Projects y haga clic en "Nuevo proyecto":

Crear un proyecto grupal

A continuación, siga los pasos estándar del Wizard de MQL5: especifique el tipo, el nombre y las propiedades del futuro programa. Elija nombres claros y comprensibles para los proyectos grupales, de manera que otros participantes puedan distinguirlos fácilmente. En el nombre solo se permiten letras y números del alfabeto latino, no se permiten espacios.

Inmediatamente después de su creación, el proyecto se agregará automáticamente al repositorio MQL5 Storage. Los archivos usados de la biblioteca estándar no se agregan al repositorio, si es necesario, podrá agregarlos manualmente.

Para permitir que otros participantes trabajen con el proyecto, abra sus propiedades: aquí podrá asignar permisos a usuarios específicos y también establecer los parámetros generales para el trabajo en grupo:

  • Proyecto privado – el proyecto está disponible solo para el autor
  • Proyecto de libre participación – cualquiera puede unirse al proyecto
  • Proyecto de participación previa solicitud – para acceder al proyecto, se deberá enviar una solicitud al autor

Configurar el acceso a un proyecto grupal

Para otorgar derechos en el proyecto a un usuario específico, haga clic en "agregar un nuevo usuario" y especifique su login en MQL5.community. Luego seleccione los derechos:

  • Lectura – el usuario puede ver todos los datos del proyecto y subirlos a su MetaEditor.
  • Lectura y escritura – el usuario puede ver todos los datos del proyecto, así como cargar sus propios cambios en el repositorio, pero no puede modificar la lista de participantes.

Para mayor comodidad, al compilar un proyecto de grupo, el archivo ejecutable final (EX5) se copiará automáticamente en la carpeta Experts, Indicators o Scripts, según el tipo de programa. De esta forma, podrá iniciar inmediatamente el programa en la plataforma sin tener que copiarlo manualmente al directorio deseado.

Proyectos públicos #

Cada proyecto grupal en MQL5 Storage tiene ajustes de privacidad: el proyecto puede ser privado o estar abierto a la participación de otros usuarios. Todos los proyectos a los que uno puede unirse libremente se muestran en una pestaña aparte: "Proyectos públicos".

Proyectos públicos

Para participar en el proyecto, haga clic en "Unirse". A continuación, aparecerá en la sección "Proyectos compartidos". Luego haga clic en "Obtener actualizaciones del repositorioObtener actualizaciones del repositorio" en el menú contextual del proyecto para cargarlo en su computadora.

Cada usuario que se una solo tendrá derecho a ver el proyecto. Para tener derecho a enviar sus propios cambios al repositorio, comuníquese con el autor del proyecto. Para averiguar su login en MQL5.community, abra las propiedades del proyecto a través del menú contextual:

Ver configuración del proyecto