Download MetaTrader 5
MQL5 ReferenceLanguage BasicsPreprocessorProgram Properties (#property) 

Program Properties (#property)

Every mql5-program allows to specify additional specific parameters named #property that help client terminal in proper servicing for programs without the necessity to launch them explicitly. This concerns external settings of indicators, first of all. Properties described in included files are completely ignored. Properties must be specified in the main mq5-file.

#property identifier value

The compiler will write declared values in the configuration of the module executed.

Constant

Type

Description

icon

string

Path to the file of an image that will be used as an icon of the EX5 program. Path specification rules are the same as for resources. The property must be specified in the main module with the MQL5 source code. The icon file must be in the ICO format.

link

string

Link to the company website

copyright

string

The company name

version

string

Program version, maximum 31 characters

description

string

Brief text description of a mql5-program. Several description can be present, each of them describes one line of the text. The total length of all description can not exceed 511 characters including line feed.

stacksize

int

MQL5 program stack size. The stack of sufficient size is necessary when executing function recursive calls.

When launching a script or an Expert Advisor on the chart, the stack of at least 8 MB is allocated. In case of indicators, the stack size is always fixed and equal to 1 MB.

When a program is launched in the strategy tester, the stack of 16 MB is always allocated for it.

library

 

A library; no start function is assigned, functions with the export modifier can be imported in other mql5-programs

indicator_applied_price

int

Specifies the default value for the "Apply to" field. You can specify one of the values of ENUM_APPLIED_PRICE. If the property is not specified, the default value is PRICE_CLOSE

indicator_chart_window

 

Show the indicator in the chart window

indicator_separate_window

 

Show the indicator in a separate window

indicator_height

int

Fixed height of the indicator subwindow in pixels (property INDICATOR_HEIGHT)

indicator_buffers

int

Number of buffers for indicator calculation

indicator_plots

int

Number of graphic series in the indicator

indicator_minimum

double

The bottom scaling limit for a separate indicator window

indicator_maximum

double

The top scaling limit for a separate indicator window

indicator_labelN

string

Sets a label for the N-th graphic series displayed in DataWindow. For graphic series requiring multiple indicator buffers (DRAW_CANDLES, DRAW_FILLING and others), the label names are defined using the separator ';'.

indicator_colorN

color

The color for displaying line N, where N is the number of graphic series; numbering starts from 1

indicator_widthN

int

Line thickness in graphic series, where N is the number of graphic series; numbering starts from 1

indicator_styleN

int

Line style in graphic series, specified by the values of ENUM_LINE_STYLE. N is the number of graphic series; numbering starts from 1

indicator_typeN

int

Type of graphical plotting, specified by the values of ENUM_DRAW_TYPE. N is the number of graphic series; numbering starts from 1

indicator_levelN

double

Horizontal level of N in a separate indicator window

indicator_levelcolor

color

Color of horizontal levels of the indicator

indicator_levelwidth

int

Thickness of horizontal levels of the indicator

indicator_levelstyle

int

Style of horizontal levels of the indicator

script_show_confirm

 

Display a confirmation window before running the script

script_show_inputs

 

Display a window with the properties before running the script and disable this confirmation window

tester_indicator

string

Name of a custom indicator in the format of "indicator_name.ex5". Indicators that require testing are defined automatically from the call of the iCustom() function, if the corresponding parameter is set through a constant string. For all other cases (use of the IndicatorCreate() function or use of a non-constant string in the parameter that sets the indicator name) this property is required

tester_file

string

File name for a tester with the indication of extension, in double quotes (as a constant string). The specified file will be passed to tester. Input files to be tested, if there are necessary ones, must always be specified.

tester_library

string

Library name with the extension, in double quotes. A library can have 'dll' or 'ex5' as file extension. Libraries that require testing are defined automatically. However, if any of libraries is used by a custom indicator, this property is required

Sample Task of Description and Version Number

#property version     "3.70"      // Current version of the Expert Advisor
#property description "ZigZag universal with Pesavento Patterns"
#property description "At the moment in the indicator several ZigZags with different algorithms are included"
#property description "It is possible to embed a large number of other indicators showing the highs and"
#property description "lows and automatically build from these highs and lows various graphical tools"

Example of displaying description and version at program startup

 

Examples of Specifying a Separate Label for Each Indicator Buffer ( "C open; C high; C low; C close")

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_plots   1
#property indicator_type1   DRAW_CANDLES
#property indicator_width1  3
#property indicator_label1  "C open;C high;C low;C close"

Example of displaying a label for each indicator buffer


Updated: 2015.12.03