Настраиваем параметры.
Итак, в прошлом выпуске мы вызвали контекстное меню окна «Навигатор» группы «Expert Advisors» и выбрали пункт меню «Create». В результате появилось окно, в котором нам предстоит выбрать тип объекта, который мы хотим создать (см. рис. 1).
Рис. 1. Выберем тип объекта, который мы хотим написать на языке MetaQuotes Language 4
Нас интересует создание эксперта, поэтому выбираем пункт «Expert Advisor». Нажимаем «Далее».
В следующем окне (рис. 2.) установим параметры нового эксперта:
- Name — имя советника (файлу будет присвоено такое же имя с расширением *.mq4;
- Author — автор советника;
- Link — адрес веб-сайта автора советника;
- Parameters — параметры советника, которые можно впоследствии менять при подключении советника к графику;
Рис. 2. Настройка параметров советника
Зададим для тренировки какой-нибудь параметр. Например, MAPeriod. Для этого нажмите кнопку «Add» и настройте каждое поле параметра:
- Name — имя параметра (в нашем примере MAPeriod);
- Type — тип параметра;
- Initial value — начальное значение.
Параметры могут быть следующих типов:
- int — целое число (от -2147483648 до 2147483647);
- bool — логический тип (или ложь — false, или истина — true);
- datetime — дата и время (в формате D’YYYY.MM.DD HH:MM:SS’);
- color — цвет (о формате я расскажу в следующих выпусках);
- double — вещественное число (-1.7 × 10-308 до 1.7 × 10308, точность — 15 значащих цифр);
- string — заключенная в двойные кавычки строка (например, «это строка»).
Нажмем кнопку «Готово». В результате мы увидим заготовку для кода нашего первого эксперта:
//+------------------------------------------------------------------+ //| My First Expert.mq4 | //| Copyright c 2006, Andrey Vedikhin | //| http://www.vedikhin.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, Andrey Vedikhin" #property link "http://www.vedikhin.ru" //---- input parameters extern int MAPeriod=0; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- //---- return(0); } //+------------------------------------------------------------------+