Русский

Справочник MQL4 Основы языка Препроцессор Свойства программ (#property)

Свойства программ (#property)

У каждой MQL4-программы можно указать дополнительные специфические параметры #property, которые помогают клиентскому терминалу правильно обслуживать программы без необходимости их явного запуска. В первую очередь это касается внешних настроек индикаторов. Свойства, описанные во включаемых файлах, полностью игнорируются. Свойства необходимо задавать в главном mq4-файле.

#property идентификатор значение

Компилятор запишет в настройках выполняемого модуля объявленные значения.

Константа

Тип

Описание

strict

 

Указание компилятору на применение особого строгого режима проверки ошибок (см. Обновленный MQL4)

icon

string

Путь к файлу с картинкой, которая будет показываться для программы EX4. Правила указания пути такие же, как и для ресурсов. Свойство должно указываться в главном модуле с исходным кодом MQL4. Файл иконки должен быть в формате ICO.

link

string

Ссылка на сайт компании-производителя

copyright

string

Название компании-производителя

version

string

Версия программы, не более 31 символа

description

string

Краткое текстовое описание MQL4-программы. Может присутствовать несколько description, каждый из которых описывает одну строку текста. Общая длина всех description не может превышать 511 символов с учетом переводов строк

stacksize

int

Указывает размер стека для MQL4 программы, стек достаточного объема требуется в случае выполнения рекурсивных вызовов функций.

При запуске скрипта или эксперта на графике выделяется стек не менее 8Мб, для индикаторов свойство не работает  - стек всегда фиксированного объема в 1Мб.

При запуске в тестере программе всегда выделяется стек в размере 8 Мб.

library

 

Библиотека; не назначается никакой стартовой функции, функции с модификатором export можно импортировать в других MQL4-программах

indicator_chart_window

 

Выводить индикатор в окно графика

indicator_separate_window

 

Выводить индикатор в отдельное окно

indicator_height

int

Фиксированная высота подокна индикатора в пикселях (свойство INDICATOR_HEIGHT)

indicator_buffers

int

Количество буферов для расчета индикатора

indicator_minimum

double

Нижнее ограничение шкалы отдельного окна индикатора

indicator_maximum

double

Верхнее ограничение шкалы отдельного окна индикатора

indicator_labelN

string

Задает метку для N-ой графической серии, отображаемую в окне DataWindow

indicator_colorN

color

Цвет для вывода линии N, где N - номер графической серии; нумерация с 1

indicator_widthN

int

Толщина линии в графической серии, где N - номер графической серии; нумерация с 1

indicator_styleN

int

Стиль линии в графической серии, указываемый с помощью значения из ENUM_LINE_STYLE. N - номер графической серии, нумерация с 1

indicator_typeN

int

Стиль рисования индикатора. N - номер графической серии, нумерация с 1

indicator_levelN

double

Горизонтальный уровень N в отдельном окне индикатора

indicator_levelcolor

color

Цвет горизонтальных уровней индикатора

indicator_levelwidth

int

Толщина горизонтальных уровней индикатора

indicator_levelstyle

int

Стиль горизонтальных уровней индикатора

script_show_confirm

 

Выводить окно подтверждения перед запуском скрипта

script_show_inputs

 

Выводить окно со свойствами перед запуском скрипта и запретить вывод окна подтверждения

tester_file

string

Имя файла из папки <каталог_данных_терминала>\MQL4\Files\ для отправки на виртуальный сервер

tester_indicator

string

Имя файла индикатора из папки <каталог_данных_терминала>\MQL4\Indicators\ для отправки на виртуальный сервер

tester_library

string

Имя файла библиотеки из папки <каталог_данных_терминала>\MQL4\Libraries\ для отправки на виртуальный сервер

Свойства tester_file, tester_indicator и tester_library предназначены для описания списка файлов, требуемых для работы в виртуальном хостинге.

Файлы индикаторов, вызываемых в функции iCustom() с фиксированным именем, а также файлы всех библиотек, используемых в MQL4-программах, будут скопированы автоматически в процессе переноса.

Особенности миграции программ описаны в статье "Подготовка торгового счета к миграции на виртуальный хостинг".

Пример кода для передачи на хостинг файлов

#property tester_file "trade_patterns.csv"    // файл с данными, которые будет читать советник
#property tester_indicator "smoothed_ma.ex4"  // файл с пользовательским индикатором, указанным в iCustom() в виде переменной

Пример неявного указания имени индикатора в коде

string indicator_name="smoothed_ma.ex4";
double val=iCustom(NULL,0,indicator_name,13,1,0);

Пример задания описания и номера версии

#property version     "3.70"      // текущая версия эксперта
#property description "ZigZag универсальный с паттернами Песавенто"
#property description "В настоящий момент в индикатор встроены несколько ZigZag с различными алгоритмами"
#property description "Имеется возможность встраивать большое количество других индикаторов, показывающих максимумы и "
#property description "минимумы и автоматически строить от этих минимумов и максимумов различные графические инструменты"

Пример отображения описания и версии при запуске программы