- Declaración de constante (#define)
- Propiedades de programas (#property)
- Inclusión de archivos (#include)
- Importación de funciones (#import)
- Compilación condicional (#ifdef, #ifndef, #else, #endif)
Propiedades de programas (#property)
Para cada programa mql5 se puede indicar unos parámetros específicos adicionales #property, los que ayudan al terminal de cliente prestar un servicio correcto a los programas sin necesidad de iniciarlos explícitamente. En primer lugar, esto se refiere a los ajustes de los indicadores externos. Las propiedades descritas en los archivos incluidos se ignoran por completo. Las propiedades tienen que ser especificadas en el archivo-mql5 principal.
#property identificador valor |
El compilador apuntará los valores renovados en los ajustes del módulo ejecutado.
Constante |
Tipo |
Descripción |
---|---|---|
icon |
ruta del archivo con la imagen que va a mostrarse como el icono del programa EX5. Las reglas para especificar la ruta son las mismas que para los recursos. La propiedad tiene que especificarse en el módulo principal con el código fuente MQL5. El archivo del icono debe ser del formato ICO. |
|
link |
Referencia a la web de la empresa productora |
|
copyright |
Nombre de la empresa productora |
|
version |
Versión del programa, no más de 31 caracteres |
|
description |
Breve descripción textual del programa mql5. Puede haber algunas description, cada una de las cuales describe una línea de texto. La longitud total de todas las description no puede superar más de 511 caracteres incluyendo saltos de líneas |
|
stacksize |
Indica el tamaño de la pila para el programa MQL5. La pila de un volumen grande es necesaria cuando se ejecutan las llamadas recursivas a la función. Cuando en el gráfico se inicia un script o un EA, se asigna la pila como mínimo de 8 Mb. Para En caso de los indicadores, la pila siempre tiene el tamaño fijo de 1 Mb. Cuando el programa se inicia en el Probador de Estrategias, se le asigna la pila de 16 Mb. |
|
library |
|
Biblioteca; no asigna ninguna función de inicio; funciones con modificador export se puede importar en otros programas mql5 |
indicator_applied_price |
Especifica el valor por defecto para el campo "Apply to". Se puede especificar uno de los valores de enumeración ENUM_APPLIED_PRICE. Si la propiedad no está especificada, entonces por defecto se aplica el valor PRICE_CLOSE |
|
indicator_chart_window |
|
Mostrar el indicador en la ventana del gráfico |
indicator_separate_window |
|
Mostrar el indicador en la ventana separada |
indicator_height |
El alto fijo de la subventana del indicador en píxeles (propiedad INDICATOR_HEIGHT) |
|
indicator_buffers |
Cantidad de búferes para el cálculo del indicador |
|
indicator_plots |
Cantidad de series gráficas en el indicador |
|
indicator_minimum |
Margen inferior de escala de la ventana separada del indicador |
|
indicator_maximum |
Margen superior de escala de la ventana separada del indicador |
|
indicator_labelN |
Pone una marca para la enésima serie gráfica mostrada en la ventana DataWindow. Para las series gráficas que necesitan varios búferes de indicador (DRAW_CANDLES, DRAW_FILLING y los demás), los nombres de las marcas vienen con separador ';'. |
|
indicator_colorN |
Color para mostrar la línea N, donde la N es el número de la serie gráfica; la enumeración se empieza desde 1 |
|
indicator_widthN |
Grosor de línea en la serie gráfica, donde la N es el número de la serie gráfica; la enumeración se empieza desde 1 |
|
indicator_styleN |
Estilo de línea la serie gráfica especificado con el valor de ENUM_LINE_STYLE. La N es el número de la serie gráfica, la enumeración se empieza desde 1 |
|
indicator_typeN |
Tipo de construcción gráfica especificado con el valor de ENUM_DRAW_TYPE. La N es el número de la serie gráfica, la enumeración se empieza desde 1 |
|
indicator_levelN |
Nivel horizontal N en la ventana separada del indicador |
|
indicator_levelcolor |
Color de niveles horizontales del indicador |
|
indicator_levelwidth |
Grosor de niveles horizontales del indicador |
|
indicator_levelstyle |
Estilo de niveles horizontales del indicador |
|
script_show_confirm |
|
Mostrar ventana de confirmación antes de iniciar un script |
script_show_inputs |
|
Mostrar ventana con las propiedades antes de iniciar un script y prohibir la muestra de la ventana de confirmación |
tester_indicator |
Nombre del indicador personalizado en el formato "nombre_de_indicador.ex5". Los indicadores que requieren verificaciones se definen automáticamente desde la llamada a la función iCustom(), si el parámetro correspondiente es fijado por una cadena constante. Para los demás casos (uso de la función IndicatorCreate() o uso de una cadena no constante en el parámetro que asigna el nombre del indicador) se necesita esta propiedad |
|
tester_file |
Nombre del archivo incluyendo su extensión, que se pasa al comprobador para que éste lo procese, tiene que ir encerrado entre comillas dobles (como una cadena constante). Siempre hay que especificar los archivos de entrada, en caso de que sean necesarios |
|
tester_library |
Nombre de la biblioteca con su extensión encerrado entre comillas dobles. Una biblioteca puede tener tanto la extensión dll como la ex5. Las bibliotecas que necesitan verificación se determinan automáticamente. Sin embargo, si una de las bibliotecas se usa por un indicador personalizado, hace falta usar esta propiedad |
|
tester_set |
Nombre del archivo set con los valores y el salto de los parámetros de entrada. El archivo especificado se transmitirá al simulador antes de la prueba o la optimización. El nombre del archivo se debe indicar con la extensión correspondiente y comillas dobles, como una línea de constante.
Si en el nombre del archivo set indicamos el nombre del experto y el número de la versión "<expert_name>_<number>.set", el archivo se añadirá automáticamente al menú de carga de las versiones de los parámetros con el número de versión <number>. Por ejemplo, el nombre "MACD Sample_4.set" indica un archivo set para el experto "MACD Sample.mq5" cuyo número de versión es 4.
Para analizar el formato, recomendamos guardar manualmente los ajustes de simulación/optimización en el simulador de estrategias y después abrir el archivo set creado de esa forma. |
|
tester_no_cache |
El simulador de estrategias, al realizar la optimización, guarda todos los resultados de las pasadas ejecutadas en la caché de optimización. En esta se guarda el resultado de la simulación 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 que haya necesidad de realizar nuevos cálculos ni perder tiempo.
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 la caché de optimización. En este caso, deberemos incluir en el archivo la propiedad tester_no_cache. En este caso, además, los resultados de la simulación se guardarán de todas formas en la caché, para que sea posible consultar en el simulador de estrategias todos los datos de las pasadas ejecutadas. |
|
tester_everytick_calculate |
En el simulador de estrategias, los indicadores se calculan solo al recurrir a los mismos, es decir, solo en el momento cuando 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.
Durante la simulación, la indicación de la propiedad tester_everytick_calculate permite activar forzosamente el modo de cálculo del indicador en cada tick.
Los indicadores en el simulador de estrategias también se calculan forzosamente en cada tick en los siguientes casos:
Esta propiedad se refiere solo al trabajo en el simulador de estrategias, en el terminal, los indicadores siempre se calculan en cada tick entrante. |
|
optimization_chart_mode |
Indica el tipo del gráfico y los nombres de los dos parámetros de entrada que se utilizarán para visualizar los resultados de la optimización. Por ejemplo, "3d, InpX, InpY" indica que se mostrará un gráfico 3D con ejes de coordenadas basados en los valores de los parámetros iterados InpX y InpY. De esta forma, con la ayuda de esta propiedad, será posible indicar directamente en el código los parámetros que se usarán para mostrar el gráfico de optimización y el tipo del propio gráfico. Posibles variantes:
Es posible indicar el tipo del gráfico y no indicar uno o dos parámetros de entrada; en ese caso, el terminal elegirá por sí mismo los parámetros de entrada para mostrar el gráfico de optimización. |
Ejemplo de descripción y número de una versión
#property version "3.70" // versión actual de Asesor Experto
|
Ejemplo de especificar una marca separada para cada búfer de indicadores ("C open;C high;C low;C close")
#property indicator_chart_window
|