home

Итак, в прошлом выпуске мы вызвали контекстное меню окна «Навигатор» группы «Expert Advisors» и выбрали пункт меню «Create». В результате появилось окно, в котором нам предстоит выбрать тип объекта, который мы хотим создать (см. рис. 1).

Рис. 1. Выберем тип объекта, который мы хотим написать на языке MetaQuotes Language 4

Рис. 1. Выберем тип объекта, который мы хотим написать на языке MetaQuotes Language 4

Нас интересует создание эксперта, поэтому выбираем пункт «Expert Advisor». Нажимаем «Далее».

В следующем окне (рис. 2.) установим параметры нового эксперта:

  • Name — имя советника (файлу будет присвоено такое же имя с расширением *.mq4;
  • Author — автор советника;
  • Link — адрес веб-сайта автора советника;
  • Parameters — параметры советника, которые можно впоследствии менять при подключении советника к графику;

Рис. 2. Настройка параметров советника

Рис. 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);
}
//+------------------------------------------------------------------+